Jelajahi Sumber

1. 上传照片限制大小为5M
2. 选择意外险处添加折叠功能
3. 报价单截图粘贴功能改为截图下载
4. 人寿返回报错信息,截取\n实现换行
5. 解决录下一单,车船税残留上单信息bug

lihongxiao 3 tahun lalu
induk
melakukan
c9b416e639
3 mengubah file dengan 224 tambahan dan 123 penghapusan
  1. 2 2
      config/dev.env.js
  2. 109 77
      src/views/Letter/Letter.vue
  3. 113 44
      src/views/Letter/Orderlist.vue

+ 2 - 2
config/dev.env.js

@@ -5,9 +5,9 @@ const prodEnv = require('./prod.env')
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   ENV_CONFIG:'"dev"',
-  // BASE_URL: '"http://39.98.239.48/web-api"',//测试服务器
+  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.111:8080/"' //大哥
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
 })
 

+ 109 - 77
src/views/Letter/Letter.vue

@@ -796,8 +796,8 @@
               </el-select>
             </div>
             <template v-if="reslistitem.namesimple == '恒邦财险' && reslistitem.checked && reslistitem.agreementId">
-              <div class="flex f-c Driving-risk accident-style">
-                <h3>意外险信息</h3>
+              <div :class="!isRetractHB?'flex f-c Driving-risk':'flex f-c Driving-risk accident-table'">
+                <h3 @click="isRetractHB=isRetractHB==false?true:false">意外险信息<i v-if="!isRetractHB" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <el-table size="small" :data="hengbangInsuranceData" border v-loading="accidentLoading"
                   @row-click="HBDrivingChange" ref="RsTable" highlight-current-row
                   :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
@@ -819,8 +819,8 @@
               </div>
             </template>
             <template v-if="reslistitem.namesimple == '安盛天平' && reslistitem.checked && reslistitem.agreementId">
-              <div class="flex f-c Driving-risk accident-style">
-                <h3>意外险信息</h3>
+              <div :class="!isRetractASTP?'flex f-c Driving-risk':'flex f-c Driving-risk accident-tableH'">
+                <h3 @click="isRetractASTP=isRetractASTP==false?true:false">意外险信息<i v-if="!isRetractASTP" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <div class="dis a-c " style="margin-bottom:15px">
                   <span style="margin-right:15px;color:#606266;">意外险类型:</span>
                   <el-select style="width: 250px;" size="small" clearable v-model="anshengInsurancetype" placeholder="选择类型" @clear="clearAccidentForm"
@@ -849,8 +849,8 @@
               </div>
             </template>
             <template v-if="reslistitem.namesimple == '中国人寿' && reslistitem.checked && reslistitem.agreementId">
-              <div class="flex f-c Driving-risk accident-style">
-                <h3>意外险信息</h3>
+              <div :class="!isRetractRS?'flex f-c Driving-risk':'flex f-c Driving-risk accident-table'">
+                <h3 @click="isRetractRS=isRetractRS==false?true:false">意外险信息<i v-if="!isRetractRS" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <el-table size="small" :data="renshouInsuranceData" border v-loading="accidentLoading"
                   @row-click="RSDrivingChange" ref="RsTable" highlight-current-row
                   :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
@@ -871,8 +871,8 @@
               </div>
             </template>
             <template v-if="reslistitem.namesimple == '众安财险' && reslistitem.checked && reslistitem.agreementId">
-              <div class="flex f-c Driving-risk accident-style">
-                <h3>意外险信息</h3>
+              <div :class="!isRetractZA?'flex f-c Driving-risk':'flex f-c Driving-risk accident-table'">
+                <h3 @click="isRetractZA=isRetractZA==false?true:false">意外险信息<i v-if="!isRetractZA" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <el-table size="small" :data="zhonganInsuranceData" border v-loading="accidentLoading"
                   @row-click="ZADrivingChange" ref="RsTable" highlight-current-row
                   :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
@@ -891,8 +891,8 @@
               </div>
             </template>
             <template v-if="reslistitem.namesimple == '紫金财险' && reslistitem.checked && reslistitem.agreementId">
-              <div class="flex f-c Driving-risk accident-style">
-                <h3>意外险信息</h3>
+              <div :class="!isRetractZJ?'flex f-c Driving-risk':'flex f-c Driving-risk accident-table'">
+                <h3 @click="isRetractZJ=isRetractZJ==false?true:false">意外险信息<i v-if="!isRetractZJ" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <el-table size="small" :data="ziJinInsuranceData" border v-loading="accidentLoading"
                   @select="CheckboxChange" ref="expandTable" highlight-current-row
                   :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#ee7000' }">
@@ -917,8 +917,8 @@
               </div>
             </template>
             <template v-if="reslistitem.namesimple == '永诚财险' && reslistitem.checked && reslistitem.agreementId">
-              <div class="flex f-c Driving-risk accident-style">
-                <h3>意外险信息</h3>
+              <div :class="!isRetractYC?'flex f-c Driving-risk':'flex f-c Driving-risk accident-tableH'">
+                <h3 @click="isRetractYC=isRetractYC==false?true:false">意外险信息<i v-if="!isRetractYC" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <el-form :inline="true" :model="accidentForm" class="demo-form-inline" size="small">
                   <el-form-item label="意外险类型:" style="margin-right:30px;">
                     <el-select clearable v-model="accidentForm.accidentType" placeholder="选择类型" @clear="clearAccidentForm"
@@ -928,7 +928,7 @@
                     </el-select>
                   </el-form-item>
                   <el-form-item label="份数:" style="margin-right:30px;">
-                    <el-input-number v-model="accidentForm.fen" @change="numberCopieschange" :min="1"></el-input-number>
+                    <el-input-number  v-model="accidentForm.fen" @change="numberCopieschange" :min="1"></el-input-number>
                     <span style="margin-left: 5px;">份</span>
                   </el-form-item>
                   <el-form-item label="保费:">
@@ -960,8 +960,8 @@
               </div>
             </template>
             <template v-if="reslistitem.namesimple == '中煤财险' && reslistitem.checked">
-              <div class="flex f-c Driving-risk">
-                <h4>意外险信息</h4>
+              <div :class="!isRetractZM?'flex f-c Driving-risk':'flex f-c Driving-risk accident-tableH'">
+                <h3 @click="isRetractZM=isRetractZM==false?true:false">意外险信息<i v-if="!isRetractZM" class="el-icon-caret-bottom"></i><i v-else class="el-icon-caret-top"></i></h3>
                 <el-form :inline="true" :model="zmDrivingForm" class="demo-form-inline" size="small">
                   <el-form-item label="产品:" style="margin-right:30px;">
                     <el-select clearable v-model="zmDrivingForm.id" placeholder="选择产品" @change="zmdvchange"
@@ -1990,6 +1990,13 @@ export default {
       currentCell:null,
       feeDetailInfo:[],//费用明细信息
       immediatelyValue:false,
+      isRetractZJ:false,
+      isRetractHB:false,
+      isRetractZM:false,
+      isRetractASTP:false,
+      isRetractZA:false,
+      isRetractYC:false,
+      isRetractRS:false,
       templateSelection:"",
       areaOption:yongchengData.data,
       actionUrl:process.env.BASE_URL+'ins/taskImage/uploadFile',
@@ -3337,6 +3344,9 @@ export default {
     },
   },
   methods: {
+    retractFun(){
+      this.isRetract=this.isRetract==false?true:false
+    },
   // 截图粘贴
     copybjd(){
       let that=this
@@ -3345,49 +3355,63 @@ export default {
               taintTest: false,
           }).then(function (canvas) {
         let base64Data = ''
-        let blob = null
+        // let blob = null
         base64Data = canvas.toDataURL('image/png', 1)
-        var format = 'image/png'
-        //将Base64图片编码转换成blob
-        var base64 = base64Data
-        var code = window.atob(base64.split(',')[1])
-        var aBuffer = new window.ArrayBuffer(code.length)
-        var uBuffer = new window.Uint8Array(aBuffer)
-        for (var i = 0; i < code.length; i++) {
-          uBuffer[i] = code.charCodeAt(i) & 0xff
+        const date = new Date()
+        const saveInfo = {
+          download: date.getTime() + `.png`,
+          href: base64Data,
         }
-        try {
-          blob = new Blob([uBuffer], { type: format })
-        } catch (e) {
-          window.BlobBuilder =
-            window.BlobBuilder ||
-            window.WebKitBlobBuilder ||
-            window.MozBlobBuilder ||
-            window.MSBlobBuilder
-          if (e.name == 'TypeError' && window.BlobBuilder) {
-            var bb = new window.BlobBuilder()
-            bb.append(uBuffer.buffer)
-            blob = bb.getBlob('image/png')
-          } else if (e.name == 'InvalidStateError') {
-            blob = new Blob([aBuffer], { type: format })
-          }
+        const element = document.createElement('a')
+        element.style.display = 'none'
+        for (const key in saveInfo) {
+          element.setAttribute(key, saveInfo[key])
         }
-        const clipboardItemInput = new ClipboardItem({
-          'image/png': blob,
-        })
-        that.$copyText({
-          'image/png': blob,
-        }).then(
-          function(e) {
-            console.log("copy arguments e:", e);
-            alert("复制成功!");
-          },
-          function(e) {
-            console.log("copy arguments e:", e);
-            alert("复制失败!");
-          }
-          ),
-        console.log(blob,11111111111)
+        document.body.appendChild(element)
+        element.click()
+        setTimeout(() => {
+          document.body.removeChild(element)
+        }, 300)
+        // var format = 'image/png'
+        // //将Base64图片编码转换成blob
+        // var base64 = base64Data
+        // var code = window.atob(base64.split(',')[1])
+        // var aBuffer = new window.ArrayBuffer(code.length)
+        // var uBuffer = new window.Uint8Array(aBuffer)
+        // for (var i = 0; i < code.length; i++) {
+        //   uBuffer[i] = code.charCodeAt(i) & 0xff
+        // }
+        // try {
+        //   blob = new Blob([uBuffer], { type: format })
+        // } catch (e) {
+        //   window.BlobBuilder =
+        //     window.BlobBuilder ||
+        //     window.WebKitBlobBuilder ||
+        //     window.MozBlobBuilder ||
+        //     window.MSBlobBuilder
+        //   if (e.name == 'TypeError' && window.BlobBuilder) {
+        //     var bb = new window.BlobBuilder()
+        //     bb.append(uBuffer.buffer)
+        //     blob = bb.getBlob('image/png')
+        //   } else if (e.name == 'InvalidStateError') {
+        //     blob = new Blob([aBuffer], { type: format })
+        //   }
+        // }
+        // const clipboardItemInput = new ClipboardItem({
+        //   'image/png': blob,
+        // })
+        // that.$copyText({
+        //   'image/png': blob,
+        // }).then(
+        //   function(e) {
+        //     console.log("copy arguments e:", e);
+        //     alert("复制成功!");
+        //   },
+        //   function(e) {
+        //     console.log("copy arguments e:", e);
+        //     alert("复制失败!");
+        //   }
+        //   ),
         // navigator.clipboard.write([clipboardItemInput])
         // that.$message({
         //   message: '已截图并复制到粘贴板!',
@@ -5323,7 +5347,7 @@ export default {
                           loading.close();
                           this.$message({
                             showClose: true,
-                            message: this.queryOrders.inscompany + "提核--:" + res.msg,
+                            message: this.queryOrders.inscompany + "提核--:" + (res.msg).replace(/\n/g,"<br>"),
                             type: "error",
                             duration: 0
                           });
@@ -5332,7 +5356,7 @@ export default {
                   } else {
                     loading.close();
                     this.$message({
-                      message: this.queryOrders.inscompany + "影像--:" + res.msg,
+                      message: this.queryOrders.inscompany + "影像--:" + (res.msg).replace(/\n/g,"<br>"),
                       type: "error",
                       duration: 7000
                     });
@@ -5641,9 +5665,9 @@ export default {
    
     //影像上传
     drivingupload(file, imageIdList, imgurl, type) {
-      const size = file.size / 1024 / 1024 < 3;
+      const size = file.size / 1024 / 1024 < 5;
       if(!size){
-        this.$message.error('上传图片大小不能超过 3MB!')
+        this.$message.error('上传图片大小不能超过 5MB!')
         this[imgurl]=[]
         return false
       }
@@ -5695,9 +5719,9 @@ export default {
     },
     carfrontChange(file) {
       //选择行驶证正面
-      let szie=file.size / 1024 / 1024 < 3;
+      let szie=file.size / 1024 / 1024 < 5;
       if(!szie){
-       this.$message.error('上传图片大小不能超过 3MB!')
+       this.$message.error('上传图片大小不能超过 5MB!')
        return false
       }
       var file = file.raw;
@@ -5728,9 +5752,9 @@ export default {
 
     },
     carbackChange(file) {
-      let szie=file.size / 1024 / 1024 < 3;
+      let szie=file.size / 1024 / 1024 < 5;
       if(!szie){
-       this.$message.error('上传图片大小不能超过 3MB!')
+       this.$message.error('上传图片大小不能超过 5MB!')
        return false
       }
       //选择行驶证反面
@@ -5761,9 +5785,9 @@ export default {
       });
     },
     userfrontChange(file) {
-      let szie=file.size / 1024 / 1024 < 3;
+      let szie=file.size / 1024 / 1024 < 5;
       if(!szie){
-       this.$message.error('上传图片大小不能超过 3MB!')
+       this.$message.error('上传图片大小不能超过 5MB!')
        return false
       }
       //选择身份证正面
@@ -5796,10 +5820,9 @@ export default {
       });
     },
     userbackChange(file) {
-      console.log(file,111111111111)
-      let szie=file.size / 1024 / 1024 < 3;
+      let szie=file.size / 1024 / 1024 < 5;
       if(!szie){
-       this.$message.error('上传图片大小不能超过 3MB!')
+       this.$message.error('上传图片大小不能超过 5MB!')
        return false
       }
       //选择身份证背面
@@ -6179,6 +6202,10 @@ export default {
       for (let key in this.insuredPersonInfo) {
         this.insuredPersonInfo[key] = "";
       }
+      this.vehicleAndVesselTaxForm={
+        taxRelifFlag: "1",
+        taxpayerIdentifier:"01",
+      }
       this.ownerInfo.provinceData=[]
       this.insuredPersonInfo.provinceData=[]
       this.policyHolderInfo.provinceData=[]
@@ -6210,9 +6237,6 @@ export default {
       this.systartDate = this.transformTime1();
       this.syendDate = this.oneYearPast1(this.jqstartDate);
       this.commpanyList(); // 获取保险公司
-      console.log( this.ownerInfo,
-      this.insuredPersonInfo,
-      this.policyHolderInfo,111111111111)
     },
     toChinesNum(num) {
       let changeNum = [
@@ -6275,13 +6299,18 @@ export default {
 }
 </style>
 <style lang="scss" scoped>
-/deep/.accident-style .el-table {
-  .el-table__body-wrapper {
-    height: 245px;
-    overflow-y: auto;
-  }
+// /deep/.accident-style .el-table {
+//   .el-table__body-wrapper {
+//     height: 245px;
+//     overflow-y: auto;
+//   }
+// }
+.accident-table{
+  height: 45px;
+}
+.accident-tableH{
+  height: 90px;
 }
-
 .styleB .el-upload--picture-card {
   // display: none;
   opacity: 0;
@@ -6986,6 +7015,9 @@ export default {
     width: 198px;
     height: 128px;
   }
+  .el-upload-list__item:first-child {
+      margin-top: 0
+  }
 }
 /* 清除图片上传动画bug */
 /deep/ {

+ 113 - 44
src/views/Letter/Orderlist.vue

@@ -1501,6 +1501,7 @@
         <el-button size="small" style="width:100px;" @click="bjddialogVisible = false">关闭</el-button>
       </div>
     </el-dialog>
+    
   </div>
 </template>
 <script>
@@ -1588,7 +1589,6 @@ export default {
     }
   },
   created() {
-    
     this.$api.letter.gainTopList().then(res=>{
       this.companyList=res.data
     })
@@ -1648,53 +1648,61 @@ export default {
               allowTaint: true,  
               taintTest: false,  
           }).then(function (canvas) {
-            
         let base64Data = ''
-        let blob = null
+        // let blob = null
         base64Data = canvas.toDataURL('image/png', 1)
-        var format = 'image/png'
-        //将Base64图片编码转换成blob
-        var base64 = base64Data
-        var code = window.atob(base64.split(',')[1])
-        var aBuffer = new window.ArrayBuffer(code.length)
-        var uBuffer = new window.Uint8Array(aBuffer)
-        for (var i = 0; i < code.length; i++) {
-          uBuffer[i] = code.charCodeAt(i) & 0xff
+        const date = new Date()
+        const saveInfo = {
+          download: date.getTime() + `.png`,
+          href: base64Data,
         }
-        try {
-          blob = new Blob([uBuffer], { type: format })
-        } catch (e) {
-          window.BlobBuilder =
-            window.BlobBuilder ||
-            window.WebKitBlobBuilder ||
-            window.MozBlobBuilder ||
-            window.MSBlobBuilder
-          if (e.name == 'TypeError' && window.BlobBuilder) {
-            var bb = new window.BlobBuilder()
-            bb.append(uBuffer.buffer)
-            blob = bb.getBlob('image/png')
-          } else if (e.name == 'InvalidStateError') {
-            blob = new Blob([aBuffer], { type: format })
-          }
+        const element = document.createElement('a')
+        element.style.display = 'none'
+        for (const key in saveInfo) {
+          element.setAttribute(key, saveInfo[key])
         }
-      //   that.$copyText(blob).then(
-      //   function(e) {
-      //     console.log("copy arguments e:", e);
-      //     alert("复制成功!");
-      //   },
-      //   function(e) {
-      //     console.log("copy arguments e:", e);
-      //     alert("复制失败!");
-      //   }
-      // );
-        const clipboardItemInput = new ClipboardItem({
-          'image/png': blob,
-        })
-        navigator.clipboard.write([clipboardItemInput])
-        that.$message({
-          message: '已截图并复制到粘贴板!',
-          type: 'success' 
-        });
+        document.body.appendChild(element)
+        element.click()
+        setTimeout(() => {
+          document.body.removeChild(element)
+        }, 300)
+
+
+
+
+     
+        // var format = 'image/png'
+        // var base64 = base64Data
+        // var code = window.atob(base64.split(',')[1])
+        // var aBuffer = new window.ArrayBuffer(code.length)
+        // var uBuffer = new window.Uint8Array(aBuffer)
+        // for (var i = 0; i < code.length; i++) {
+        //   uBuffer[i] = code.charCodeAt(i) & 0xff
+        // }
+        // try {
+        //   blob = new Blob([uBuffer], { type: format })
+        // } catch (e) {
+        //   window.BlobBuilder =
+        //     window.BlobBuilder ||
+        //     window.WebKitBlobBuilder ||
+        //     window.MozBlobBuilder ||
+        //     window.MSBlobBuilder
+        //   if (e.name == 'TypeError' && window.BlobBuilder) {
+        //     var bb = new window.BlobBuilder()
+        //     bb.append(uBuffer.buffer)
+        //     blob = bb.getBlob('image/png')
+        //   } else if (e.name == 'InvalidStateError') {
+        //     blob = new Blob([aBuffer], { type: format })
+        //   }
+        // }
+        // const clipboardItemInput = new ClipboardItem({
+        //   'image/png': blob,
+        // })
+        // navigator.clipboard.write([clipboardItemInput])
+        // that.$message({
+        //   message: '已截图并复制到粘贴板!',
+        //   type: 'success' 
+        // });
       })
     },
     bjdpreview(companyId) {
@@ -3001,4 +3009,65 @@ export default {
 .bjdCarMessage2 >ul>li {
       margin: 20px 0;
 }
+.Risk {
+  width: 100%;
+  height: auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 12px;
+}
+
+.Risk_title {
+  width: 100%;
+  height: 40px;
+}
+.Risk_title>div {
+    background: rgb(199, 20, 45);
+    color: rgb(255, 255, 255);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+
+}
+.Risk_title>div:nth-child(1) {
+}
+
+.Risk_title>div:nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+
+.Risk_data {
+  width: 100%;
+  height: 40px;
+}
+.Risk_data >div {
+    background: #fbf6f7;
+    color: rgb(51, 51, 51);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+  }
+.Risk_data >div :nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+.Risk_title>div :nth-child(3) {
+  border-top-right-radius: 10px;
+}
 </style>