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

1、车主手机号11位限制
2、保费计算按钮添加loding
3、永诚保险意外险类型,保费直接显示

lihongxiao 2 лет назад
Родитель
Сommit
29e39770da
3 измененных файлов с 221 добавлено и 11 удалено
  1. 2 2
      config/dev.env.js
  2. 17 7
      src/views/Letter/Letter.vue
  3. 202 2
      src/views/Letter/Orderlist.vue

+ 2 - 2
config/dev.env.js

@@ -7,8 +7,8 @@ module.exports = merge(prodEnv, {
   ENV_CONFIG:'"dev"',
   // BASE_URL: '"http://39.98.239.48/web-api"',//测试服务器
   // BASE_URL:'"http://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
-  // BASE_URL: '"http://192.168.0.111:8080/"' //大哥
-  BASE_URL: '"http://192.168.0.115:8080/"' //凯森
+  BASE_URL: '"http://192.168.0.111:8080/"' //大哥
+  // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
 })
 
 

+ 17 - 7
src/views/Letter/Letter.vue

@@ -261,7 +261,7 @@
           </el-col>
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
             <el-form-item label="车主手机号:" prop="mobile">
-              <el-input v-model="ownerInfo.mobile" placeholder="请输入车主手机号"  type="text"
+              <el-input v-model="ownerInfo.mobile" placeholder="请输入车主手机号"  type="text" maxlength="11"
                 show-word-limit></el-input>
             </el-form-item>
           </el-col>
@@ -878,8 +878,9 @@
                     <span style="margin-left: 5px;">份</span>
                   </el-form-item>
                   <el-form-item label="保费:">
-                    <el-input-number v-model="accidentForm.premium" :min="1"></el-input-number>
-                    <span style="margin-left: 5px;">元</span>
+                    <span>{{accidentForm.premium}}&ensp;元</span>
+                    <!-- <el-input-number v-model="accidentForm.premium" :min="1"></el-input-number>
+                    <span style="margin-left: 5px;">元</span> -->
                   </el-form-item>
                 </el-form>
                 <el-table v-if="accidentForm.accidentType" size="small" :data="accidenttableData" border
@@ -1807,7 +1808,7 @@
       'shadow': !isBottom
     }">
       <el-button size="small" @click="add()">录下一单</el-button>
-      <el-button type="warning" size="small" @click="quote()">保费计算</el-button>
+      <el-button type="warning" :loading='calculateLoading' size="small" @click="quote()">保费计算</el-button>
     </div>
     <div class="Anchor-link flex f-c j-s a-c">
       <div>
@@ -1935,8 +1936,10 @@ export default {
       zijinengageList: [],//紫金特约
       // ------------紫金意外险
       licenseplate: true,
+      calculateLoading:false,   //保费计算按钮 节流
       accidentForm: {
-        fen: "1"
+        fen: "1",
+        premium:0
       }, //意外险内容
       accidentDataList: [], //永诚意外险
       accidenttableData: [],
@@ -3248,7 +3251,7 @@ export default {
     },
   },
   methods: {
-  
+  // 截图粘贴
     copybjd(){
       html2Canvas(document.getElementById('pdfContentsDiv') , {  
               allowTaint: true,  
@@ -3658,7 +3661,8 @@ export default {
     },
     clearAccidentForm() {
       this.accidentForm = {
-        fen: "1"
+        fen: "1",
+        premium:0
       };
     },
     //身份证有效期长期
@@ -3790,6 +3794,7 @@ export default {
     },
     //报价
     quote() {
+      
       let starttime = new Date(this.carInfo.registerDate)
       let endtime = new Date(this.carInfo.issueDate)
       if (endtime < starttime) {
@@ -3802,6 +3807,7 @@ export default {
           var _this = this;
           _this.$refs["ownerInfo"].validate(valid1 => {
             if (valid1) {
+             
               if (_this.tbczcarShow == true) {
                 _this.policyHolderInfo = JSON.parse(
                   JSON.stringify(_this.ownerInfo)
@@ -3826,6 +3832,10 @@ export default {
               ) {
                 this.$message({ message: "投保日期不能为空", type: "warning" });
               } else {
+                this.calculateLoading=true
+                setInterval(() => {
+                this.calculateLoading=false
+                }, 3000);
                 if (_this.jqchecked) {
                   //交强
                   _this.jqstartDate = this.transformTime(_this.jqstartDate);

+ 202 - 2
src/views/Letter/Orderlist.vue

@@ -91,16 +91,20 @@
             <div style="width: 220px;" class="flex a-c j-end">
               <el-button size="mini" type="text"
                 v-if="item.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(item.inscompany)"
-                @click="querystatus(item)" style="color:#f56c6c">缴费状态查询</el-button>
+                @click="querystatus(item)" style="color:#f56c6c">状态更新</el-button>
               <el-button size="mini" type="text"
                 v-if="item.orderstatus == '2' && item.inscompany=='永诚财险'"
-                @click="refreshStatus(item)" style="color:#f56c6c">缴费状态查询</el-button>
+                @click="refreshStatus(item)" style="color:#f56c6c">状态更新</el-button>
+                <el-button size="mini" type="text"
+                v-if="item.orderstatus == '1' && item.inscompany=='永诚财险'"
+                @click="refreshStatus(item)" style="color:#f56c6c">更新订单</el-button>
               <el-button size="mini" type="text" v-if="item.orderstatus == '2' && ['紫金财险'].includes(item.inscompany)"
                 @click="cancelorder(item)" style="color:#f56c6c">撤单</el-button>
               <el-button size="mini" type="text" v-if="item.orderstatus == '2'" @click="carcode(scope.row, item)"
                 style="color:#f56c6c">二维码</el-button>
               <el-button size="mini" type="text" @click="OrderDetails(scope.row, item)">查看详情
               </el-button>
+              <!-- <el-button type="text" style="color:rgb(240, 12, 10)"  @click="bjdpreview(scope.row.companyId)">报价单</el-button> -->
               <!-- <el-button size="mini" type="text" @click="CloseEdit(scope.$index, scope.row)">编辑</el-button> -->
 
             </div>
@@ -501,6 +505,15 @@
           <el-descriptions-item label="商业险保单号">{{ orderInfo.sypolicyno }}</el-descriptions-item>
         </el-descriptions>
       </div>
+      <div class="Enclosure" v-if="orderInfo && orderInfo.orderstatus == 4">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">审核意见</span>
+          </div>
+        </div>
+        <div style='font-size:12px;padding: 10px 50px'>{{orderInfo.auditopinion}}</div>
+      </div>
       <div class="Enclosure" v-if="orderInfo && orderInfo.orderstatus == 3">
         <div class="home flex j-s a-c back">
           <div class="flex j-s a-c color">
@@ -1337,6 +1350,151 @@
         <el-button size="small" @click="dialogVisible = false">关 闭</el-button>
       </span>
     </el-dialog>
+    <!-- 报价单 -->
+    <!-- <el-dialog :visible.sync="bjddialogVisible" width="570px" top="1vh">
+      <div class="bjdbody" id='pdfContentsDiv'>
+        <div class="bjdCarMessage">
+          <div class="bjdCarMessage1">
+            <img src="../../../static/bjdcar.png" class="align" alt style="width:60px;height:60px;" />
+            <div class="dis f-c" style="height:100%">
+              <span>{{ queryOrders.carinfo.licenseNo }}</span>
+              <span>{{ queryOrders.carinfo.modelcname }}</span>
+            </div>
+          </div>
+          <div class="bjdCarMessage2">
+            <ul>
+              <li>
+                <div class="bjdCarMessage2_car dis">
+                  <span>订单号:</span>
+                  <span>{{ queryOrders.orderno }}</span>
+                </div>
+              </li>
+              <li>
+                <div class="bjdCarMessage2_car dis">
+                  <span>车主姓名:</span>
+                  <span>{{ queryOrders.ownerinfo.name }}</span>
+                </div>
+              </li>
+              <li>
+                <div class="bjdCarMessage2_car dis">
+                  <span>投保人姓名:</span>
+                  <span>{{ queryOrders.applyinfo.name }}</span>
+                </div>
+              </li>
+              <li>
+                <div class="bjdCarMessage2_car dis">
+                  <span>发动机号:</span>
+                  <span>{{ queryOrders.carinfo.engineNo }}</span>
+                </div>
+              </li>
+              <li>
+                <div class="bjdCarMessage2_car dis">
+                  <span>车架号:</span>
+                  <span>{{ queryOrders.carinfo.vinNo }}</span>
+                </div>
+              </li>
+              <li>
+                <div class="bjdCarMessage2_car dis">
+                  <span>座位数:</span>
+                  <span>{{ queryOrders.carinfo.seatCount }}</span>
+                </div>
+              </li>
+              <li v-show="queryOrders.jqstartdate">
+                <div class="bjdCarMessage2_car" style="flex-direction: column;">
+                  <span>车辆交强险保险期间:</span>
+                  <span style="margin-top:5px;">{{ queryOrders.jqstartdate }} 至 {{ queryOrders.jqenddate }}</span>
+                </div>
+              </li>
+              <li v-show="queryOrders.systartdate">
+                <div class="bjdCarMessage2_car" style="flex-direction: column;">
+                  <span>车辆商业险保险期间:</span>
+                  <span style="margin-top:5px;">{{ queryOrders.systartdate }} 至 {{ queryOrders.syenddate }}</span>
+                </div>
+              </li>
+            </ul>
+          </div>
+        </div>
+        <div class="bjdCarSum">
+          <div class="dis align jus">
+            <span>应缴金额</span>
+            <span style="color:rgb(255, 30, 7);font-size:16px;">¥{{ queryOrders.sumpremium }}</span>
+          </div>
+          <div class="dis align jus" v-show="queryOrders.jqpremium">
+            <span>交强险</span>
+            <span>¥{{ queryOrders.jqpremium }}</span>
+          </div>
+          <div class="dis align jus" v-show="queryOrders.jypremium">
+            <span>驾意险</span>
+            <span>¥{{ queryOrders.jypremium }}</span>
+          </div>
+          <div class="dis align jus" v-show="queryOrders.sypremium">
+            <span>车辆商业险</span>
+            <span>¥{{ queryOrders.sypremium }}</span>
+          </div>
+          <div class="dis align jus" v-show="queryOrders.taxamount">
+            <span>车船税</span>
+            <span>¥{{ queryOrders.taxamount }}</span>
+          </div>
+          <div class="dis align jus" v-show="queryOrders.jqdiscountrate">
+            <span>交强险优惠比例</span>
+            <span style="color:#ff8605;">{{ queryOrders.jqdiscountrate }}%</span>
+          </div>
+          <div class="dis align jus" v-show="queryOrders.sydiscountrate">
+            <span>商业险优惠比例</span>
+            <span style="color:#ff8605;">{{ queryOrders.sydiscountrate }}%</span>
+          </div>
+          <div style="border:none;" v-show="queryOrders.sypremium">
+            <div class="Risk">
+              <div class="Risk_title dis align jus">
+                <div>
+                  <span>商业险险别</span>
+                </div>
+                <div>
+                  <span>保险金额</span>
+                </div>
+                <div>
+                  <span>保费</span>
+                </div>
+              </div>
+              <div class="Risk_data dis align jus" v-for="(kindinfoitem, kindinfoindex) in queryOrders.kindinfo"
+                :key="kindinfoindex">
+                <template>
+                  <div>
+                    <span>{{ kindinfoitem.kindName }}</span>
+                  </div>
+                  <div v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">
+                    <span>{{ kindinfoitem.unitAmount }}</span>/<span>{{ queryOrders.carinfo.seatCount - 1 }}座</span>
+                  </div>
+                  <div v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)">
+                    <span>{{ kindinfoitem.deductibleRate }}</span>
+                  </div>
+                  <div v-else>
+                    <span>{{ kindinfoitem.amount }}</span>
+                  </div>
+                  <div>
+                    <span>¥{{ kindinfoitem.coveragePremium }}</span>
+                  </div>
+                </template>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="flex f-c" style="padding:5px 0; color:#fff;margin-bottom:15px;">
+          <span style="margin-bottom:10px;">报价时间:</span>
+          <span>注:本报价单仅供参考,最终以出单价格为准。</span>
+        </div>
+        <div class="bjdfooter dis align">
+          <img :src="logoImg" class="align" alt style="width:60px;height:60px;" />
+          <div class="dis f-c jus" style="height:100%">
+            <span>{{ queryOrders.inscompany }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="display">
+        <el-button size="small" style="width:100px;" @click="copybjd()" >截图</el-button>
+        <el-button size="small" style="width:100px;" @click="bjddialogVisible = false">关闭</el-button>
+      </div>
+    </el-dialog> -->
   </div>
 </template>
 <script>
@@ -1349,6 +1507,9 @@ import QRCode from "qrcodejs2";
 export default {
   data() {
     return {
+      queryOrders:{},
+      logoImg: "",//报价单保险公司logo图
+      bjddialogVisible:false,
       value2: "",
       optionsStatus:[],
       dialogVisible: false,
@@ -1472,6 +1633,45 @@ export default {
     },
   },
   methods: {
+    // bjdpreview(companyId) {
+    //   let params = {
+    //     companyId: companyId
+    //   };
+    //   this.$api.letter.getByCompanyId(params).then(res => {
+    //     if (res.code == "200") {
+    //       var data = res.data;
+    //       if (data.kindinfo != null) {
+    //         data.kindinfo.map((ele, index) => {
+    //           switch (ele.kindCode) {
+    //             case "A":
+    //               if (ele.amount == 1) {
+    //                 ele.amount = "投保"
+    //               } else {
+    //                 ele.amount = ele.amount
+    //               }
+    //               break;
+    //             case "D4":
+    //             case "SY_FJ_YBW2":
+    //               ele.unitAmount = this.toChinesNum(ele.unitAmount);
+    //               break;
+    //             case "MJ1":
+    //             case "MJ2":
+    //             case "MJ3":
+    //             case "MJ4":
+    //               ele.deductibleRate = ele.deductibleRate + "%";
+    //               break;
+    //             default:
+    //               ele.amount = this.toChinesNum(ele.amount);
+    //           }
+    //           return ele;
+    //         });
+    //       }
+    //       this.queryOrders = data;
+    //       this.logoImg = this.iconfftter(res.data.inscompany)
+    //       this.bjddialogVisible = true;
+    //     }
+    //   });
+    // },
     getRowClass(scope, rowIndex) {
       if (scope.row.insAreaCompanyList.length == 0) {  //判断当前行是否有子数据或者根据实际情况设置
         return 'row-expand-cover'