ソースを参照

补录订单添加企业报价

lihongxiao 1 年間 前
コミット
b7e5c6c0d1

+ 3 - 3
config/dev.env.js

@@ -9,7 +9,7 @@ module.exports = merge(prodEnv, {
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"',//正式服务器
   // 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.106: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/"',//田智
@@ -17,8 +17,8 @@ module.exports = merge(prodEnv, {
   // 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.55: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_BASE_URL: '"https://test.baoxianzhanggui.com/console-api"' //控制台正式服务器

+ 469 - 105
src/views/Task/daikeComponents/KtLetter.vue

@@ -213,7 +213,15 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <el-col  :span="5">
+            <el-form-item label="所属性质 " prop="property">
+              <el-select v-model="carInfo.property" placeholder="请选择所属性质" @change="getCompanyListProperty">
+                <el-option :label="item.label" :value="item.value" v-for="(item, index) in propertyoptions"
+                  :key="index"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" :offset="1">
             <el-form-item label="注册日期" prop="registerDate">
               <el-date-picker v-dateFormat v-model="carInfo.registerDate" :picker-options="pickerOptions"
                 value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期" placement="bottom-start"></el-date-picker>
@@ -252,26 +260,49 @@
               <el-input v-model="ownerInfo.name" placeholder="请输入车主姓名"></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="5" :offset="1">
+            <el-form-item label="车主类型" >
+              <el-select v-model="ownerInfo.property" placeholder="车主类型" @change="propertyTpe('ownerInfo')" >
+                <el-option label="法人" value="0"></el-option>
+                <el-option label="个人" value="1"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="5" :offset="1">
             <el-form-item label="证件类型" prop="identifyType">
               <el-select v-model="ownerInfo.identifyType" placeholder="身份证" disabled>
                 <el-option label="身份证" value="01"></el-option>
+                <el-option label="统一社会信用代码" value="10"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="1" v-if="ownerInfo.property=='1'">
             <el-form-item label="证件号码" prop="identifyNumber">
               <el-input v-model="ownerInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
                 show-word-limit @blur="identifyblur('ownerInfo')"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="1" v-if="ownerInfo.property=='0'">
+            <el-form-item label="证件号码" prop="organizationCode">
+              <el-input v-model="ownerInfo.organizationCode" placeholder="请输入证件号码" type="text" maxlength="18"
+                show-word-limit ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5"  v-if="ownerInfo.property=='0'">
+            <el-form-item label="注册资金" prop="registeredCapital">
+              <el-input v-model="ownerInfo.registeredCapital" placeholder="请输入注册资金" type="text" 
+                show-word-limit >
+                <el-button slot="append">万元</el-button>
+                </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" v-if="ownerInfo.property=='1'">
             <el-form-item label="年龄" prop="age">
               <el-input v-model="ownerInfo.age" placeholder="请输入年龄" type="text" disabled></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
-            <el-form-item label="性别" prop="gender">
+          <el-col :span="5"  :offset="1" v-if="ownerInfo.property=='1'">
+            <el-form-item label="性别" prop="gender" v-if="ownerInfo.property=='1'">
               <el-select @change="genderChange" v-model="ownerInfo.gender" placeholder="请选择性别">
                 <el-option label="男" value="男"></el-option>
                 <el-option label="女" value="女"></el-option>
@@ -284,19 +315,31 @@
                 @paste.native="handlePaste($event, 'ownerInfo')" show-word-limit></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col  :span="5" :offset="1" v-if="ownerInfo.property=='0'">
+            <el-form-item label="车主联系人">
+              <el-input v-model="ownerInfo.legalPerson" placeholder="请输入年龄" type="text" maxlength="5" ></el-input>
+            </el-form-item>
+          </el-col>
+        
+          <el-col  :span="5" :offset="1" v-if="ownerInfo.property=='0'">
+            <el-form-item label="省市区" >
+              <el-cascader v-model="selectedOptions1" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"
+                @change="event => areahandleChange(event, 'ownerInfo')" ></el-cascader>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" :offset="ownerInfo.property=='1'?1:0">
             <el-form-item label="地址" prop="addr">
               <el-input v-model="ownerInfo.addr" placeholder="请输入地址" type="text"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="ownerInfo.property=='0'?1:0">
             <el-form-item label="有效期起期" prop="identifyValidDate">
               <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidDate" value-format="yyyy-MM-dd"
                 :picker-options="pickerOptions" type="date" placeholder="选择注册日期"
                 placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <el-col :span="5" :offset="1">
             <el-form-item label="有效期止期" prop="identifyValidEndDate">
               <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidEndDate" type="date" value-format="yyyy-MM-dd"
                 placeholder="选择有效期" placement="bottom-start" style="width: calc(100% - 40px)"></el-date-picker>
@@ -343,26 +386,49 @@
               <el-input v-model="policyHolderInfo.name" placeholder="请输入投保人姓名"></el-input>
             </el-form-item>
           </el-col>
+          <el-col  :span="5" :offset="1">
+            <el-form-item label="投保人类型" prop="property">
+              <el-select v-model="policyHolderInfo.property" placeholder="投保人类型" @change="propertyTpe('policyHolderInfo')" >
+                <el-option label="法人" value="0"></el-option>
+                <el-option label="个人" value="1"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="5" :offset="1">
             <el-form-item label="证件类型" prop="identifyType">
               <el-select v-model="policyHolderInfo.identifyType" placeholder="身份证" disabled>
                 <el-option label="身份证" value="01"></el-option>
+                <el-option label="统一社会信用代码" value="10"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="1" v-if="policyHolderInfo.property=='0'">
+            <el-form-item label="证件号码" prop="organizationCode">
+              <el-input v-model="policyHolderInfo.organizationCode" placeholder="请输入证件号码" type="text" maxlength="18"
+                show-word-limit @blur="identifyblur('policyHolderInfo')"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col  :span="5" :offset="1" v-if="policyHolderInfo.property=='1'">
             <el-form-item label="证件号码" prop="identifyNumber">
               <el-input v-model="policyHolderInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
                 show-word-limit @blur="identifyblur('policyHolderInfo')"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col  :span="5" v-if="policyHolderInfo.property=='0'">
+            <el-form-item label="注册资金" prop="registeredCapital">
+              <el-input v-model="policyHolderInfo.registeredCapital" placeholder="请输入注册资金" type="text" 
+                show-word-limit >
+                <el-button slot="append">万元</el-button>
+                </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" v-if="policyHolderInfo.property=='1'">
             <el-form-item label="年龄" prop="age">
               <el-input v-model="policyHolderInfo.age" placeholder="请输入年龄" type="text" disabled></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
-            <el-form-item label="性别" prop="gender">
+          <el-col :span="5"  :offset="1" v-if="policyHolderInfo.property=='1'">
+            <el-form-item label="性别" prop="gender" >
               <el-select v-model="policyHolderInfo.gender" placeholder="请选择性别">
                 <el-option label="男" value="男"></el-option>
                 <el-option label="女" value="女"></el-option>
@@ -381,18 +447,29 @@
                 @change="event => areahandleChange(event, 'policyHolderInfo')"></el-cascader>
             </el-form-item>
           </el-col>-->
-          <el-col :span="5" :offset="1">
+          <el-col  :span="5" :offset="1" v-if="policyHolderInfo.property=='0'">
+            <el-form-item label="投保人联系人">
+              <el-input v-model="policyHolderInfo.legalPerson" placeholder="请输入年龄" type="text" maxlength="5" ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" :offset="1" v-if="policyHolderInfo.property=='0'">
+            <el-form-item label="省市区">
+              <el-cascader v-model="selectedOptions2" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"
+                @change="event => areahandleChange(event, 'policyHolderInfo')"></el-cascader>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" :offset="policyHolderInfo.property=='1'?1:0">
             <el-form-item label="地址" prop="addr">
               <el-input v-model="policyHolderInfo.addr" placeholder="请输入地址" type="text"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="policyHolderInfo.property=='1'?0:1">
             <el-form-item label="有效期起期" prop="identifyValidDate">
               <el-date-picker v-dateFormat v-model="policyHolderInfo.identifyValidDate" value-format="yyyy-MM-dd"
                 :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <el-col :span="5" :offset="1" >
             <el-form-item label="有效期止期" prop="identifyValidEndDate">
               <el-date-picker v-dateFormat v-model="policyHolderInfo.identifyValidEndDate" type="date"
                 value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
@@ -445,25 +522,48 @@
               <el-input v-model="insuredPersonInfo.name" placeholder="请输入被保人姓名"></el-input>
             </el-form-item>
           </el-col>
+          <el-col  :span="5" :offset="1">
+            <el-form-item label="被保人类型" prop="property">
+              <el-select v-model="insuredPersonInfo.property" placeholder="投保人类型" @change="propertyTpe('insuredPersonInfo')" >
+                <el-option label="法人" value="0"></el-option>
+                <el-option label="个人" value="1"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="5" :offset="1">
             <el-form-item label="证件类型" prop="identifyType">
               <el-select v-model="insuredPersonInfo.identifyType" placeholder="身份证" disabled>
                 <el-option label="身份证" value="01"></el-option>
+                <el-option label="统一社会信用代码" value="10"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="1" v-if="insuredPersonInfo.property=='1'">
             <el-form-item label="证件号码" prop="identifyNumber">
               <el-input v-model="insuredPersonInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
                 show-word-limit @blur="identifyblur('insuredPersonInfo')"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="1" v-if="insuredPersonInfo.property=='0'">
+            <el-form-item label="证件号码" prop="organizationCode">
+              <el-input v-model="insuredPersonInfo.organizationCode" placeholder="请输入证件号码" type="text" maxlength="18"
+                show-word-limit @blur="identifyblur('insuredPersonInfo')"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col  :span="5" v-if="insuredPersonInfo.property=='0'">
+            <el-form-item label="注册资金" prop="registeredCapital">
+              <el-input v-model="insuredPersonInfo.registeredCapital" placeholder="请输入注册资金" type="text" 
+                show-word-limit >
+                <el-button slot="append">万元</el-button>
+                </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5"  v-if="insuredPersonInfo.property=='1'">
             <el-form-item label="年龄" prop="age">
               <el-input v-model="insuredPersonInfo.age" placeholder="请输入年龄" type="text" disabled></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <el-col :span="5" :offset="1" v-if="insuredPersonInfo.property=='1'">
             <el-form-item label="性别" prop="gender">
               <el-select v-model="insuredPersonInfo.gender" placeholder="请选择性别">
                 <el-option label="男" value="男"></el-option>
@@ -483,18 +583,29 @@
                 @change="event => areahandleChange(event, 'insuredPersonInfo')"></el-cascader>
             </el-form-item>
           </el-col>-->
-          <el-col :span="5" :offset="1">
+          <el-col  :span="5" :offset="1" v-if="insuredPersonInfo.property=='0'">
+            <el-form-item label="被保人联系人">
+              <el-input v-model="insuredPersonInfo.legalPerson" placeholder="请输入年龄" type="text" maxlength="5" ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" :offset="1" v-if="insuredPersonInfo.property=='0'">
+            <el-form-item label="省市区">
+              <el-cascader v-model="selectedOptions2" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"
+                @change="event => areahandleChange(event, 'insuredPersonInfo')"></el-cascader>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5" :offset="insuredPersonInfo.property=='1'?1:0">
             <el-form-item label="地址" prop="addr">
               <el-input v-model="insuredPersonInfo.addr" placeholder="请输入地址" type="text"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="5" :offset="1">
+          <el-col :span="5" :offset="insuredPersonInfo.property=='1'?0:1">
             <el-form-item label="有效期起期" prop="identifyValidDate">
               <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidDate" value-format="yyyy-MM-dd"
                 :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="5">
+          <el-col :span="5" :offset="1">
             <el-form-item label="有效期止期" prop="identifyValidEndDate">
               <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidEndDate" type="date"
                 value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
@@ -582,11 +693,16 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :span="5" :offset="1">
+          <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1&& policyHolderInfo.property=='1'" :span="5" :offset="1">
             <el-form-item label="纳税人识别号:" prop="identifyNumber">
               <el-input v-model="vehicleAndVesselTaxForm.identifyNumber" placeholder="请输入纳税人识别号" type="text"></el-input>
             </el-form-item>
           </el-col>
+          <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1 && policyHolderInfo.property=='0'" :span="5" :offset="1">
+            <el-form-item label="纳税人识别号:" prop="organizationCode">
+              <el-input v-model="vehicleAndVesselTaxForm.organizationCode" placeholder="请输入纳税人识别号" type="text"></el-input>
+            </el-form-item>
+          </el-col>
           <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :span="5" :offset="1">
             <el-form-item label="纳税人名称:" prop="taxpayerName">
               <el-input v-model="vehicleAndVesselTaxForm.taxpayerName" placeholder="请输入纳税人名称" type="text"></el-input>
@@ -2469,7 +2585,7 @@
                   <div class="OCR" style="text-align: center">营业执照</div>
                   <div style="text-align: center; margin: 20px" @drop="reportDrop">
                     <el-upload class="upload-demo" drag action="#" :show-file-list="false" :auto-upload="false"
-                      :on-change="userfrontChange">
+                      :on-change="businessChange">
                       <img v-show="businessImg" :src="businessImg" style="width: 100%; height: 100%" />
                       <img v-show="!businessImg" src="../../../../static/userfront.png"
                         style="width: 100%; height: 100%" />
@@ -2482,24 +2598,24 @@
                 </div>
               </div>
               <div style="text-align: center">
-                <el-form :model="ownerInfoform" label-width="130px" size="small">
+                <el-form :model="businessform" label-width="130px" size="small">
                   <el-form-item label="单位名称">
-                    <el-input autocomplete="off"></el-input>
+                    <el-input autocomplete="off" v-model="businessform.name"></el-input>
                   </el-form-item>
                   <el-form-item label="法人">
-                    <el-input autocomplete="off"></el-input>
+                    <el-input autocomplete="off" v-model="businessform.legalPerson"></el-input>
                   </el-form-item>
                   <el-form-item label="社会信用代码">
-                    <el-input autocomplete="off"></el-input>
+                    <el-input autocomplete="off" v-model="businessform.organizationCode"></el-input>
                   </el-form-item>
                   <el-form-item label="地址">
-                    <el-input autocomplete="off"></el-input>
-                  </el-form-item>
-                  <el-form-item label="经营范围">
-                    <el-input autocomplete="off"></el-input>
+                    <el-input autocomplete="off" v-model="businessform.addr"></el-input>
                   </el-form-item>
                   <el-form-item label="注册资本">
-                    <el-input autocomplete="off"></el-input>
+                    <el-input autocomplete="off" v-model="businessform.registeredCapital"></el-input>
+                  </el-form-item>
+                  <el-form-item label="经营范围">
+                    <el-input autocomplete="off"  type="textarea" v-model="businessform.scope"></el-input>
                   </el-form-item>
                 </el-form>
               </div>
@@ -2825,18 +2941,20 @@
               </el-upload>
             </div>
             <div class="aaa">
-              <span>3.营业执照</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
-                <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
+              <span>3.车主营业执照</span>
+              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple :on-change="(file) => drivingupload(file, 'imageList2', 'imgList26', 'Y02')"
+                  ref="upload4"  :file-list="imgList26" :class="{ styleB: imgList26.length === 1 }">
+                  <img v-show="imgList26.length == 0"  src="../../../../static/userfront.png" style="width: 100%; height: 100%" :class="{ styleB: imgList26.length === 1 }" />
+                  <div slot="file" slot-scope="{ file }">
+                      <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
+                      <span class="el-upload-list__item-actions">
+                          <span class="el-upload-list__item-delete"
+                              @click="handleRemove1(file, 'imageList2', 'imgList26')">
+                              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
+                              <i class="el-icon-delete"></i>
+                          </span>
+                      </span>
+                  </div>
               </el-upload>
             </div>
           </div>
@@ -2876,19 +2994,21 @@
               </el-upload>
             </div>
             <div class="aaa">
-              <span>3.营业执照</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
-                <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
+                <span>3.投保人营业执照</span>
+                <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList3', 'imgList27', 'Y03')
+                    " :file-list="imgList27" multiple ref="upload6" :class="{ styleB: imgList27.length === 1 }" >
+                    <img v-show="imgList27.length == 0" src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
+                    <div slot="file" slot-scope="{ file }">
+                        <img class="el-upload-list__item-thumbnail"  :src="file.url" alt />
+                        <span class="el-upload-list__item-actions">
+                            <span class="el-upload-list__item-delete"
+                                @click="handleRemove1(file, 'imageList3', 'imgList27')">
+                                <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
+                                <i class="el-icon-delete"></i>
+                            </span>
+                        </span>
+                    </div>
+                </el-upload>
             </div>
           </div>
           <div class="flex f-wrap">
@@ -2927,20 +3047,23 @@
               </el-upload>
             </div>
             <div class="aaa">
-              <span>3.营业执照</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
-                <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
+                  <span>3.被保人营业执照</span>
+                  <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList4', 'imgList28', 'Y04')
+                      " :file-list="imgList28" multiple ref="upload8" :class="{ styleB: imgList28.length === 1 }"
+                      >
+                      <img v-show="imgList28.length == 0" src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
+                      <div slot="file" slot-scope="{ file }">
+                          <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
+                          <span class="el-upload-list__item-actions">
+                              <span class="el-upload-list__item-delete"
+                                  @click="handleRemove1(file, 'imageList4', 'imgList28')">
+                                  <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
+                                  <i class="el-icon-delete"></i>
+                              </span>
+                          </span>
+                      </div>
+                  </el-upload>
+              </div>
           </div>
           <div class="flex f-wrap" id="relationship">
             <div class="aaa">
@@ -3205,7 +3328,7 @@ import {
   getGenderByIdCard,
 } from "@/utils/validate.js";
 import citydata from "@/assets/js/citydata.js";
-// import  yongchengData from '../../assets/js/yongchengData';
+import  yongchengData from '../../../assets/js/yongchengData';
 import { regionData, codeToText } from "element-china-area-data";
 import { base64ToPath } from "@/common/image-tools-base64.js";
 import quotationDialog from "@/views/Core/components/quotationDialog.vue";
@@ -3629,8 +3752,10 @@ export default {
         addr: "", //地址
         email: "", //邮箱
         mobile: "", //电话
+        organizationCode:"",
         identifyValidDate: "", //有效期起期
         identifyValidEndDate: "", //有效期止期
+        property:'1',
         // province: "",//省
         // city: "",//市
         // county: "",//县
@@ -3646,8 +3771,10 @@ export default {
         addr: "", //地址
         email: "", //邮箱
         mobile: "", //电话
+        property:'1',
         identifyValidDate: "", //有效期起期
         identifyValidEndDate: "", //有效期止期
+        organizationCode:"",
         // province: "",//省
         // city: "",//市
         // county: "",//县
@@ -3663,8 +3790,10 @@ export default {
         addr: "", //地址
         email: "", //邮箱
         mobile: "", //电话
+        property:'1',
         identifyValidDate: "", //有效期起期
         identifyValidEndDate: "", //有效期止期
+        organizationCode:"",
         provinceData: [], //省市区
         // province: "",//省
         // city: "",//市
@@ -4602,6 +4731,15 @@ export default {
       energyTypeoptions: [], //能源种类
       taxRelifFlagoptions: [], //车船税类型
       taxpayerIdentifieroptions: [], //纳税人证件类型
+      propertyoptions:[
+        {
+          value:'1',
+          label:'个人'
+        },{
+          value:'2',
+          label:'企业'
+        },
+      ],
       relifReasonoptions: [], //减免税原因代码
       relifReasonoptions: [], //减免税原因代码
       provinceSelect: [],
@@ -4660,6 +4798,9 @@ export default {
       D03File: "",
       C04File: "",
       D04File: "",
+      Y02File: "",
+      Y03File: "",
+      Y04File: "",
       //影像回显列表
       imgList1: [],
       imgList2: [],
@@ -4685,6 +4826,10 @@ export default {
       imgList22: [],
       imgList23: [],
       imgList24: [],
+      imgList25: [],
+      imgList26: [],
+      imgList27: [],
+      imgList28: [],
       //影像上传列表
       imageList1: [],
       imageList2: [],
@@ -4692,6 +4837,19 @@ export default {
       imageList4: [],
       imageList5: [],
       imageList6: [],
+      businessform:{ 
+        name: "", //姓名
+        identifyType: "02", //身份证类型
+        legalRepresentative: "", //法人
+        identifyNumber: "", //社会信用代码
+        addr: "", //地址
+        registeredCapital: "", //注册资本
+        businessScope: "", //经营范围
+    },
+    areaOption:yongchengData.data,
+     selectedOptions1: [],
+      selectedOptions2: [],
+      selectedOptions3: [],
     };
   },
   watch: {
@@ -4767,6 +4925,22 @@ export default {
       },
       deep: true,
     },
+    "policyHolderInfo.property": {
+      handler(val) {
+        if (val ) {
+          this.vehicleAndVesselTaxForm.taxpayerIdentifier =val=='0'? '10':'01';
+        }
+      },
+      deep: true,
+    },
+    "policyHolderInfo.organizationCode": {
+      handler(val) {
+        if (val) {
+          this.vehicleAndVesselTaxForm.organizationCode = val;
+        }
+      },
+      deep: true,
+    },
     "policyHolderInfo.name": {
       handler(val) {
         if (val) {
@@ -4884,6 +5058,25 @@ export default {
     },
   },
   methods: {
+     // 所属性质字段
+     getCompanyListProperty(data){
+      if(data=='1'){
+        this.ownerInfo.property='1'
+        this.policyHolderInfo.property='1'
+        this.insuredPersonInfo.property='1'
+        this.ownerInfo.identifyType='01'
+        this.policyHolderInfo.identifyType='01'
+        this.insuredPersonInfo.identifyType='01'
+      }
+      else{
+        this.ownerInfo.property='0'
+        this.policyHolderInfo.property='0'
+        this.insuredPersonInfo.property='0'
+        this.ownerInfo.identifyType='10'
+        this.policyHolderInfo.identifyType='10'
+        this.insuredPersonInfo.identifyType='10'
+      }
+    },
     //清空保单图片
     removePhoto(file, fileList, type) {
 
@@ -5268,6 +5461,9 @@ export default {
         // });
       });
     },
+    propertyTpe(val){
+      this[val].identifyType=this[val].property=='0'?'10':'01'
+    },
     // 即时起保
     immediatelyChange(e) {
       if (e) {
@@ -5364,15 +5560,14 @@ export default {
         this.insuredPersonInfo.gender = e;
       }
     },
-    //省市区
-    // areahandleChange(event, info) {
-    //   console.log(event)
-    //   if (event[0] != null && event[1] != null && event[2] != null) {
-    //     this[info].province = codeToText[event[0]]
-    //     this[info].city = codeToText[event[1]]
-    //     this[info].county = codeToText[event[2]]
-    //   }
-    // },
+   //省市区
+   areahandleChange(event, info) {
+      if (event[0] != null && event[1] != null && event[2] != null) {
+        this[info].province = event[0]
+        this[info].city = event[1]
+        this[info].county = event[2]
+      }
+    },
     iconfftter(icon) {
       return CommonUtil.getDataName({
         dataList: this.global.insCompanyList,
@@ -7673,28 +7868,45 @@ export default {
         //投保人同车主
         this.imageList3 = JSON.parse(JSON.stringify(this.imageList2));
         if (this.imageList3.length == 1) {
-          this.imageList3[0].imageType = this.imageList3[0].imageType.includes(
-            "C0"
-          )
-            ? "C03"
-            : "D03";
+          if(this.imageList3[0].imageType.includes("C0")){
+              this.imageList3[0].imageType = this.imageList3[0].imageType.includes(
+                "C0"
+              )
+                ? "C03"
+                : "D03";
+            }
+            if(this.imageList3[0].imageType.includes("Y0")){
+              this.imageList3[0].imageType = this.imageList3[0].imageType.includes(
+                "Y0"
+              )
+                ? "Y03"
+                : "";
+            }
         } else {
           this.imageList3.forEach((e) => {
             e.imageType = e.imageType.includes("C0") ? "C03" : "D03";
           });
         }
       }
-      console.log(this.imageList2, 3111111111112);
 
       if (this.bbczcarShow && this.imageList2.length > 0) {
         //被保人同车主
         this.imageList4 = JSON.parse(JSON.stringify(this.imageList2));
         if (this.imageList4.length == 1) {
-          this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
-            "C0"
-          )
-            ? "C04"
-            : "D04";
+            if(this.imageList4[0].imageType.includes("C0")){
+              this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
+                "C0"
+              )
+                ? "C04"
+                : "D04";
+            }
+            if(this.imageList4[0].imageType.includes("Y0")){
+              this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
+                "Y0"
+              )
+                ? "Y04"
+                : "";
+            }
         } else {
           this.imageList4.forEach((e) => {
             e.imageType = e.imageType.includes("C0") ? "C04" : "D04";
@@ -7713,11 +7925,20 @@ export default {
         //被保人同投保人
         this.imageList4 = JSON.parse(JSON.stringify(this.imageList3));
         if (this.imageList4.length == 1) {
-          this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
-            "C0"
-          )
-            ? "C04"
-            : "D04";
+          if(this.imageList4[0].imageType.includes("C0")){
+              this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
+                "C0"
+              )
+                ? "C04"
+                : "D04";
+            }
+            if(this.imageList4[0].imageType.includes("Y0")){
+              this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
+                "Y0"
+              )
+                ? "Y04"
+                : "";
+            }
         } else {
           this.imageList4.forEach((e) => {
             e.imageType = e.imageType.includes("C0") ? "C04" : "D04";
@@ -9035,6 +9256,10 @@ export default {
           this.imgList22 = [];
           this.imgList23 = [];
           this.imgList24 = [];
+          this.imgList25 = [];
+          this.imgList26 = [];
+          this.imgList27 = [];
+          this.imgList28 = [];
           Object.keys(res.data).forEach((keys) => {
             if (res.data[keys].url) {
               res.data[keys].url = process.env.BASE_URL + res.data[keys].url;
@@ -9068,6 +9293,13 @@ export default {
                   });
                   this.imgList4.push(res.data[keys]);
                   break;
+                case "Y02":
+                  this.imageList2.push({
+                      imageId: res.data[keys].imageId,
+                      imageType: res.data[keys].imageType,
+                  });
+                  this.imgList26.push(res.data[keys]);
+                  break;
                 case "C03":
                   this.imageList3.push({
                     imageId: res.data[keys].imageId,
@@ -9082,6 +9314,13 @@ export default {
                   });
                   this.imgList6.push(res.data[keys]);
                   break;
+                case "Y03":
+                    this.imageList3.push({
+                        imageId: res.data[keys].imageId,
+                        imageType: res.data[keys].imageType,
+                    });
+                    this.imgList27.push(res.data[keys]);
+                    break;
                 case "C04":
                   this.imageList4.push({
                     imageId: res.data[keys].imageId,
@@ -9096,6 +9335,13 @@ export default {
                   });
                   this.imgList8.push(res.data[keys]);
                   break;
+                case "Y04":
+                  this.imageList4.push({
+                      imageId: res.data[keys].imageId,
+                      imageType: res.data[keys].imageType,
+                  });
+                  this.imgList28.push(res.data[keys]);
+                  break;
                 case "XC00":
                   this.imageList5.push({
                     imageId: res.data[keys].imageId,
@@ -10103,6 +10349,8 @@ export default {
             this.policyHolderInfo.provinceData = [];
             this.selectedOptions2 = [];
           }
+          this.policyHolderInfo = {}
+          // this.policyHolderInfo.property='1'
       }
     },
     bbczcarShowChange() {
@@ -10627,6 +10875,48 @@ export default {
         }
       });
     },
+    businessChange(file) {
+      let size = file.size / 1024 / 1024 < 5;
+      const isJPG =
+        file.raw.type === "image/jpeg" || file.raw.type === "image/png";
+      if (!size) {
+        this.$message.error("上传图片大小不能超过 5MB!");
+        return false;
+      }
+      if (!isJPG) {
+        this.$message.error("上传图片只能是 JPG、PNG 格式!");
+        return false;
+      }
+      
+      var file = file.raw;
+      let files = window.URL.createObjectURL(file); //转链接
+      this.businessImg = files;
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file);
+      params.append("type", "image");
+      this.$api.letter.uploadFile(params).then((res) => {
+        if (res.code == "200") {
+          let type = "Y0" + this.userIndex;
+          if (
+            this["imageList" + this.userIndex].some((v) => v.imageType == type)
+          ) {
+            this["imageList" + this.userIndex].map((val) => {
+              if (val.imageType == type) {
+                val.imageId = res.data.id;
+              }
+            });
+          } else {
+            this["imageList" + this.userIndex].push({
+              imageId: res.data.id,
+              imageType: type,
+            });
+          }
+          this[type + "File"] = file;
+        } else {
+          this.$message({ message: res.msg, type: "warning" });
+        }
+      });
+    },
     CarOCRdiscern() {
       //car识别
       const loading = this.$loading({
@@ -10722,18 +11012,21 @@ export default {
           this.userbackImg = "";
           this.C02File = ""; // 车主正面base64
           this.D02File = ""; // 车主背面base64
+          this.Y02File = ""; // 车主营业执照
           break;
         case 3:
           this.userfrontImg = "";
           this.userbackImg = "";
           this.C03File = ""; // 投保人正面base64
           this.D03File = ""; // 投保人背面base64
+          this.Y03File = ""; // 投保人营业执照
           break;
         case 4:
           this.userfrontImg = "";
           this.userbackImg = "";
           this.C04File = ""; // 被保人正面base64
           this.D04File = ""; // 被保人背面base64
+          this.Y04File = ""; // 被保人营业执照
           break;
         default:
       }
@@ -10753,6 +11046,8 @@ export default {
     },
     userOCRdiscern() {
       //OCR识别
+      if( this.activeName=='1'){
+
       switch (this.userIndex) {
         case 2:
           const params1 = new FormData(); // 声明formData数据类型
@@ -10774,6 +11069,56 @@ export default {
           break;
         default:
       }
+    }
+else{
+  switch (this.userIndex ) {
+        case 2:
+          const params1 = new FormData(); // 声明formData数据类型
+          params1.append("image1", this.Y02File);
+          this.businessjoggle(params1);
+          break;
+        case 3:
+          const params2 = new FormData(); // 声明formData数据类型
+          params2.append("image1", this.Y03File);
+          this.businessjoggle(params2);
+          break;
+        case 4:
+          const params3 = new FormData(); // 声明formData数据类型
+          params3.append("image1", this.Y04File);
+          this.businessjoggle(params3);
+          break;
+        default:
+      }
+}
+    },
+    businessjoggle(param) {
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      this.$api.letter.businessLicense(param).then((res) => {
+        loading.close();
+        if (res.msg == "201") {
+          this.$message({ message: "请正确选择营业执照", type: "warning" });
+        }
+        if (res.code==200 && res.data) {
+          if(res.data){
+            this.businessform={
+              ...res.data,
+              name: res.data.company,
+              organizationCode: res.data.socialCreditCode,
+              addr: res.data.address,
+              identifyType:'10',
+              scope: res.data.businessScope,
+              legalPerson: res.data.legalRepresentative,
+              registeredCapital:parseInt(res.data.registeredCapital) 
+            }
+          }
+
+        }
+      });
     },
     userOCRjoggle(param) {
       const loading = this.$loading({
@@ -10833,6 +11178,8 @@ export default {
     },
     userOCRconfirm() {
       //传参
+      if( this.activeName=='1'){
+        this.ownerInfoform.property='1'
       switch (this.userIndex) {
         case 2:
           // this.selectedOptions1 = addressCode(this.ownerInfoform.addr);
@@ -10847,6 +11194,25 @@ export default {
           this.insuredPersonInfo = {...this.ownerInfoform}
           break;
       }
+    }
+    else{
+      this.businessform.property='0'
+      switch (this.userIndex) {
+          case 2:
+            this.ownerInfo = JSON.parse(JSON.stringify(this.businessform));
+            break;
+          case 3:
+            this.policyHolderInfo = JSON.parse(
+              JSON.stringify(this.businessform)
+            );
+            break;
+          case 4:
+            this.insuredPersonInfo = JSON.parse(
+              JSON.stringify(this.businessform)
+            );
+            break;
+        }
+    }
       this.uploaduserdialogVisible = false;
     },
     closeDialog(index) {
@@ -10864,6 +11230,8 @@ export default {
         case 2:
           this.userfrontImg = "";
           this.userbackImg = "";
+          this.businessImg = "";
+          this.Y02File = ""; // 营业执照
           this.C02File = ""; // 车主正面base64
           this.D02File = ""; // 车主背面base64
           Object.keys(this.ownerInfoform).forEach((key) => {
@@ -10873,6 +11241,8 @@ export default {
         case 3:
           this.userfrontImg = "";
           this.userbackImg = "";
+          this.businessImg = "";
+          this.Y03File = ""; // 营业执照
           this.C03File = ""; // 投保人正面base64
           this.D03File = ""; // 投保人背面base64
           Object.keys(this.ownerInfoform).forEach((key) => {
@@ -10882,20 +11252,14 @@ export default {
         case 4:
           this.userfrontImg = "";
           this.userbackImg = "";
+          this.businessImg = "";
+          this.Y04File = ""; // 营业执照
           this.C04File = ""; // 被保人正面base64
           this.D04File = ""; // 被保人背面base64
           Object.keys(this.ownerInfoform).forEach((key) => {
             this.ownerInfoform[key] = "";
           });
           break;
-        case 5:
-          this.businessImg = "";
-          // this.C04File = ''; // 被保人正面base64
-          // this.D04File = '';  // 被保人背面base64
-          // Object.keys(this.ownerInfoform).forEach((key) => {
-          //   this.ownerInfoform[key] = '';
-          // });
-          break;
         default:
       }
     },

+ 17 - 6
src/views/Task/daikeComponents/KtLetter1.vue

@@ -254,8 +254,8 @@
             </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="车主类型" >
-              <el-select v-model="ownerInfo.property" placeholder="车主类型" >
+            <el-form-item label="车主类型"  >
+              <el-select v-model="ownerInfo.property" placeholder="车主类型" @change="propertyTpe('ownerInfo')">
                 <el-option label="法人" value="0"></el-option>
                 <el-option label="个人" value="1"></el-option>
               </el-select>
@@ -376,7 +376,7 @@
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="投保人类型" prop="property">
-              <el-select v-model="policyHolderInfo.property" placeholder="投保人类型" >
+              <el-select v-model="policyHolderInfo.property" placeholder="投保人类型" @change="propertyTpe('policyHolderInfo')">
                 <el-option label="法人" value="0"></el-option>
                 <el-option label="个人" value="1"></el-option>
               </el-select>
@@ -429,6 +429,11 @@
                 @paste.native="handlePaste($event, 'policyHolderInfo')" show-word-limit></el-input>
             </el-form-item>
           </el-col>
+          <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-if="policyHolderInfo.property=='0'">
+            <el-form-item label="投保人联系人">
+              <el-input v-model="policyHolderInfo.legalPerson" placeholder="请输入年龄" type="text" maxlength="5" ></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-if="policyHolderInfo.property=='0'">
             <el-form-item label="省市区">
               <el-cascader v-model="selectedOptions2" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"
@@ -505,7 +510,7 @@
           </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
             <el-form-item label="被保人类型" prop="property">
-              <el-select v-model="insuredPersonInfo.property" placeholder="被保人类型" >
+              <el-select v-model="insuredPersonInfo.property" placeholder="被保人类型" @change="propertyTpe('insuredPersonInfo')">
                 <el-option label="法人" value="0"></el-option>
                 <el-option label="个人" value="1"></el-option>
               </el-select>
@@ -558,6 +563,11 @@
                 @paste.native="handlePaste($event, 'insuredPersonInfo')" show-word-limit></el-input>
             </el-form-item>
           </el-col>
+          <el-col  :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-if="insuredPersonInfo.property=='0'">
+            <el-form-item label="被保人联系人">
+              <el-input v-model="insuredPersonInfo.legalPerson" placeholder="请输入年龄" type="text" maxlength="5" ></el-input>
+            </el-form-item>
+          </el-col>
           <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-if="insuredPersonInfo.property=='0'">
             <el-form-item label="省市区">
               <el-cascader v-model="selectedOptions3" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"
@@ -6399,6 +6409,9 @@ export default {
         })
       }
     },
+    propertyTpe(val){
+      this[val].identifyType=this[val].property=='0'?'10':'01'
+    },
     showDetailJiaYi(item, index, type) {
       this.showDetailtable = []
       item.programme.drivingList.forEach((val) => {
@@ -12755,7 +12768,6 @@ export default {
           this.userfrontImg = "";
           this.userbackImg = "";
           this.businessImg="";
-          this.Y03File = ""; // 营业执照
           this.C03File = ""; // 投保人正面base64
           this.D03File = ""; // 投保人背面base64
           this.Y03File = ""; // 投保人营业执照
@@ -12764,7 +12776,6 @@ export default {
           this.userfrontImg = "";
           this.userbackImg = "";
           this.businessImg="";
-          this.Y04File = ""; // 营业执照
           this.C04File = ""; // 被保人正面base64
           this.D04File = ""; // 被保人背面base64
           this.Y04File = ""; // 被保人营业执照