naturePerson.vue 47.1 KB
Newer Older
李晓兵's avatar
李晓兵 committed
1 2 3 4
<!--
 * @Description: In User Settings Edit
 * @Author: liuxin
 * @Date: 2019-09-19 09:18:14
786817560's avatar
786817560 committed
5
 * @LastEditTime: 2019-10-09 13:11:10
786817560's avatar
786817560 committed
6
 * @LastEditors: Please set LastEditors
李晓兵's avatar
李晓兵 committed
7 8
 -->
<template>
linxin's avatar
linxin committed
9
  <h-view id="base-info1" class="public-style" title="基本信息">
李晓兵's avatar
李晓兵 committed
10 11
    <h-header :proportion="[5,1,1]" class="header">
      <div slot="left" class="h-header-btn" @click="$routeGo()">
linxin's avatar
linxin committed
12
        <img src="@/assets/userBind/arrow.png" >
李晓兵's avatar
李晓兵 committed
13 14 15
        <span>用户绑定</span>
      </div>
    </h-header>
linxin's avatar
linxin committed
16
    <Tab :tabNum="tabNum" @getTabNum="getTabNum" />
李晓兵's avatar
李晓兵 committed
17 18 19 20
    <h-content class="content">
      <div v-show="tabNum==0">
        <list-item :item-height="44">
          <item :showArrow="true">
21
            <div slot="name" class="required">客户类型</div>
李晓兵's avatar
李晓兵 committed
22 23
            <input
              slot="content"
linxin's avatar
linxin committed
24
              v-model="baseInfo.bp_type_n"
李晓兵's avatar
李晓兵 committed
25 26 27 28 29 30 31
              placeholder="请选择"
              type="text"
              readonly
              onfocus="this.blur()"
              @click="selectIdType()"
            >
          </item>
linxin's avatar
linxin committed
32
          <item v-if="(isPaople&&from)||(isPaople&&isSelected)">
33
            <div slot="name" class="required">业务经办人</div>
李晓兵's avatar
李晓兵 committed
34 35
            <input slot="content" v-model="baseInfo.agent_username" placeholder="请输入业务经办员工代码" >
          </item>
linxin's avatar
linxin committed
36
          <item v-if="(isLesons&&from)||(isLesons&&isSelected)">
37
            <div slot="name" class="required">营业执照</div>
李晓兵's avatar
李晓兵 committed
38 39
            <input slot="content" v-model="baseInfo.business_license_num" placeholder="请输入营业执照号" >
          </item>
linxin's avatar
linxin committed
40 41 42 43
          <item v-if="(isMatter&&from)||(isMatter&&isSelected)">
            <div slot="name" class="required">办事处代码</div>
            <input slot="content" v-model="baseInfo.business_license_num" placeholder="请输入办事处代码" >
          </item>
李晓兵's avatar
李晓兵 committed
44 45 46 47 48
        </list-item>
        <div class="userInfo">客户信息</div>
        <div class="upload-id-card">
          <span>身份证照片上传</span>
          <div class="upload-box">
李晓兵's avatar
李晓兵 committed
49
            <div v-if="!idCardFront" @click="ocrShow('idCard', 'front')">
linxin's avatar
linxin committed
50
              <img src="@/assets/userBind/front.png" >
李晓兵's avatar
李晓兵 committed
51 52
              <p>正面</p>
            </div>
李晓兵's avatar
李晓兵 committed
53
            <div v-if="idCardFront && !isApproved" @click="ocrShow('idCard', 'front')">
linxin's avatar
linxin committed
54
              <img :src="idCardFront" style="width: 100%;height: 100%;margin: 0" >
李晓兵's avatar
李晓兵 committed
55
            </div>
李晓兵's avatar
李晓兵 committed
56
            <div v-if="isApproved && idCardFront">
linxin's avatar
linxin committed
57 58 59 60 61 62
              <img
                v-if="idCardFront"
                :src="idCardFront"
                style="width: 100%;height: 100%;margin: 0"
                @click="showBigPicture(idCardFront)"
              >
李晓兵's avatar
李晓兵 committed
63
            </div>
李晓兵's avatar
李晓兵 committed
64
            <div v-if="!idCardBack" @click="ocrShow('idCard', 'back')">
linxin's avatar
linxin committed
65
              <img src="@/assets/userBind/back.png" >
李晓兵's avatar
李晓兵 committed
66 67
              <p>反面</p>
            </div>
李晓兵's avatar
李晓兵 committed
68
            <div v-if="idCardBack && !isApproved" @click="ocrShow('idCard', 'back')">
linxin's avatar
linxin committed
69
              <img :src="idCardBack" style="width: 100%;height: 100%;margin: 0" >
李晓兵's avatar
李晓兵 committed
70
            </div>
李晓兵's avatar
李晓兵 committed
71
            <div v-if="isApproved && idCardBack">
linxin's avatar
linxin committed
72 73 74 75 76 77
              <img
                v-if="idCardBack"
                :src="idCardBack"
                style="width: 100%;height: 100%;margin: 0"
                @click="showBigPicture(idCardBack)"
              >
李晓兵's avatar
李晓兵 committed
78
            </div>
李晓兵's avatar
李晓兵 committed
79 80 81 82
          </div>
        </div>
        <list-item :item-height="44" class="second-part">
          <item>
83
            <div slot="name" class="required">姓名</div>
linxin's avatar
linxin committed
84
            <input
linxin's avatar
linxin committed
85 86 87 88 89 90
              slot="content"
              v-model="baseInfo.bp_name"
              readonly
              placeholder="上传身份证自动填充"
              class="auto"
            >
李晓兵's avatar
李晓兵 committed
91 92
          </item>
          <item>
93
            <div slot="name" class="required">身份证号码</div>
李晓兵's avatar
李晓兵 committed
94 95 96
            <input
              slot="content"
              v-model="baseInfo.id_card_no"
李晓兵's avatar
李晓兵 committed
97
              readonly
李晓兵's avatar
李晓兵 committed
98 99 100 101
              placeholder="上传身份证自动填充"
              class="auto"
            >
          </item>
linxin's avatar
linxin committed
102 103
          <item>
            <div slot="name" class="required">户籍地址</div>
linxin's avatar
linxin committed
104
            <textarea
linxin's avatar
linxin committed
105
              slot="content"
linxin's avatar
linxin committed
106
              ref="myTestarea"
linxin's avatar
linxin committed
107
              v-model="baseInfo.address_on_resident_booklit"
李晓兵's avatar
李晓兵 committed
108
              readonly
linxin's avatar
linxin committed
109 110
              cols="30"
              rows="1"
linxin's avatar
linxin committed
111
              placeholder="上传身份证自动填充"
linxin's avatar
linxin committed
112
              class="auto"
linxin's avatar
linxin committed
113 114
              @input="addRows(baseInfo.address_on_resident_booklit)"
            />
linxin's avatar
linxin committed
115
          </item>
李晓兵's avatar
李晓兵 committed
116
          <item>
117
            <div slot="name" class="required">手机号码</div>
linxin's avatar
linxin committed
118
            <input slot="content" v-model="baseInfo.cell_phone" placeholder="请输入手机号码" >
李晓兵's avatar
李晓兵 committed
119
          </item>
linxin's avatar
linxin committed
120 121 122 123 124 125 126 127 128 129 130
          <item :showArrow="true">
            <div slot="name" class="required">省份</div>
            <input
              slot="content"
              v-model="baseInfo.province_name"
              placeholder="请选择"
              type="text"
              readonly
              onfocus="this.blur()"
              @click="selectProvince()"
            >
linxin's avatar
linxin committed
131 132
          </item>
          <item :showArrow="true">
linxin's avatar
linxin committed
133 134 135 136 137 138 139 140 141 142
            <div slot="name" class="required">城市</div>
            <input
              slot="content"
              v-model="baseInfo.city_name"
              placeholder="请选择"
              type="text"
              readonly
              onfocus="this.blur()"
              @click="selectCity()"
            >
linxin's avatar
linxin committed
143 144
          </item>
          <item :showArrow="true">
linxin's avatar
linxin committed
145 146 147 148 149 150 151 152 153 154 155
            <div slot="name" class="required">区县</div>
            <input
              slot="content"
              v-model="baseInfo.district_name"
              placeholder="请选择"
              type="text"
              readonly
              onfocus="this.blur()"
              @click="selectDistrict()"
            >
          </item>
李晓兵's avatar
李晓兵 committed
156
          <item>
157
            <div slot="name" class="required">居住地址</div>
linxin's avatar
linxin committed
158 159 160 161 162
            <textarea
              slot="content"
              ref="myTestareaLive"
              v-model="baseInfo.living_address"
              rows="1"
linxin's avatar
linxin committed
163
              cols="30"
linxin's avatar
linxin committed
164 165 166
              placeholder="请输入居住地址"
              @input="addRowsLive(baseInfo.living_address)"
            />
李晓兵's avatar
李晓兵 committed
167 168
          </item>
          <item :showArrow="true">
169
            <div slot="name" class="required">学历</div>
李晓兵's avatar
李晓兵 committed
170 171
            <input
              slot="content"
linxin's avatar
linxin committed
172
              v-model="baseInfo.academic_background_n"
李晓兵's avatar
李晓兵 committed
173 174 175 176 177 178 179
              placeholder="请选择学历"
              readonly
              onfocus="this.blur()"
              @click="selectBackType"
            >
          </item>
          <item :showArrow="true">
180
            <div slot="name" class="required">婚姻状况</div>
李晓兵's avatar
李晓兵 committed
181 182
            <input
              slot="content"
linxin's avatar
linxin committed
183
              v-model="baseInfo.marital_status_n"
李晓兵's avatar
李晓兵 committed
184 185 186 187 188 189 190
              placeholder="请选择"
              readonly
              onfocus="this.blur()"
              @click="selectMarital"
            >
          </item>
        </list-item>
linxin's avatar
linxin committed
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
        <div v-if="hasSP">
          <div class="userInfo">配偶信息</div>
          <list-item :item-height="44">
            <item>
              <div slot="name" class="required">姓名</div>
              <input slot="content" v-model="baseInfo.bp_name_sp" placeholder="请输入姓名" >
            </item>
            <item>
              <div slot="name" class="required">手机号码</div>
              <input slot="content" v-model="baseInfo.spouse_phone" placeholder="请输入手机号码" >
            </item>
            <item>
              <div slot="name" class="required">工作单位</div>
              <input slot="content" v-model="baseInfo.working_place_sp" placeholder="请输入工作单位" >
            </item>
            <item>
              <div slot="name" class="required">居住地址</div>
              <input slot="content" v-model="baseInfo.address_sp" placeholder="请输入居住地址" >
            </item>
          </list-item>
        </div>
李晓兵's avatar
李晓兵 committed
212 213 214
        <div v-if="cddItemList.length" class="userInfo">资产信息</div>
        <div v-for="(list, index) in cddItemList" :key="index" class="card">
          <span>{{ list.description }}</span>
李晓兵's avatar
李晓兵 committed
215
          <div class="img-content">
李晓兵's avatar
李晓兵 committed
216
            <!--待上传图片列表-->
linxin's avatar
linxin committed
217 218 219 220 221 222 223
            <div
              v-for="(item, index) in upload_list"
              v-if="item.check_id==list.check_id"
              :key="index"
              class="card-upload"
            >
              <img :src="item.picture" @click="showBigPicture(item.picture)" >
李晓兵's avatar
李晓兵 committed
224
              <div class="close" @click="remove_pic(item.attachment_id,index)">
linxin's avatar
linxin committed
225
                <img src="@/assets/userBind/deleteIcon.png" >
李晓兵's avatar
李晓兵 committed
226
              </div>
李晓兵's avatar
李晓兵 committed
227
            </div>
李晓兵's avatar
李晓兵 committed
228
            <!--从服务器上下载的图片-->
李晓兵's avatar
李晓兵 committed
229
            <div v-for="item in dowload_list">
linxin's avatar
linxin committed
230 231 232 233 234 235 236
              <div
                v-for="(pic, index) in item"
                v-if="pic.check_id==list.check_id"
                :key="index"
                class="card-upload"
              >
                <img :src="pic.url" @click="showBigPicture(pic.url)" >
李晓兵's avatar
李晓兵 committed
237
                <div class="close" @click="delete_pic(pic.attachment_id)">
linxin's avatar
linxin committed
238
                  <img src="@/assets/userBind/deleteIcon.png" >
李晓兵's avatar
李晓兵 committed
239
                </div>
李晓兵's avatar
李晓兵 committed
240
              </div>
李晓兵's avatar
李晓兵 committed
241
            </div>
李晓兵's avatar
李晓兵 committed
242
            <div class="card-upload" @click="imgUploadShow(list.check_id)">
linxin's avatar
linxin committed
243
              <img src="@/assets/userBind/camera.png" class="upload-btn" >
李晓兵's avatar
李晓兵 committed
244 245 246
            </div>
          </div>
        </div>
linxin's avatar
linxin committed
247
        <!-- <div v-if="from&&isApproved&&isAGENT" class="tax" @click="changeUndertake">
linxin's avatar
linxin committed
248 249 250 251 252 253
          <img src="@/assets/userBind/tax.png" class="left-img">
          <div>
            <span>缴纳保证金</span>
            <p>已缴纳:500000</p>
          </div>
          <img src="@/assets/userBind/arrow-right.png" class="right-img">
linxin's avatar
linxin committed
254
        </div>-->
李晓兵's avatar
李晓兵 committed
255
      </div>
linxin's avatar
linxin committed
256

linxin's avatar
linxin committed
257 258 259 260 261 262
      <BankInfo
        v-show="tabNum==1"
        :getBankList="getBankList"
        @getInfo="getInfo"
        @getList="getList"
      />
linxin's avatar
linxin committed
263 264 265 266 267 268
      <InvoiceInfo
        v-show="tabNum==2"
        :baseInfo="baseInfo"
        :tabNum="tabNum"
        @getinvoiceList="getinvoiceList"
      />
李晓兵's avatar
李晓兵 committed
269 270
    </h-content>
    <bottom-tab class="footer-button">
linxin's avatar
linxin committed
271 272
      <tab-button class="put" @click.native="putData">提交</tab-button>
      <tab-button class="save" @click.native="verified">保存</tab-button>
李晓兵's avatar
李晓兵 committed
273
    </bottom-tab>
linxin's avatar
linxin committed
274
    <h-modal ref="modal" v-model="showModalValue" position="bottom" cus-class="sign-modal">
李晓兵's avatar
李晓兵 committed
275
      <h-view>
李晓兵's avatar
李晓兵 committed
276
        <div class="modal-content">
李晓兵's avatar
李晓兵 committed
277 278
          <div class="modal-content-add-top">
            <span>添加银行卡</span>
linxin's avatar
linxin committed
279
            <img src="@/assets/userBind/close.png" @click="hideModal" >
李晓兵's avatar
李晓兵 committed
280
          </div>
linxin's avatar
linxin committed
281
          <img
李晓兵's avatar
李晓兵 committed
282
            v-if="!bankImg && !isApproved"
linxin's avatar
linxin committed
283 284 285 286 287
            src="@/assets/userBind/addBack.png"
            class="addBack"
            @click="ocrShow('bankCard', '')"
          >
          <img
李晓兵's avatar
李晓兵 committed
288
            v-if="bankImg"
linxin's avatar
linxin committed
289 290 291 292 293
            :src="bankImg"
            class="addBack"
            style="height: 38%;"
            @click="ocrShow('bankCard', '')"
          >
李晓兵's avatar
李晓兵 committed
294
          <img
李晓兵's avatar
李晓兵 committed
295
            v-if="isClear && isApproved && !bankImg"
李晓兵's avatar
李晓兵 committed
296 297 298 299 300
            src="@/assets/userBind/addBack.png"
            class="addBack"
            @click="ocrShow('bankCard', '')"
          >
          <img v-if="!bankImg && isApproved && !isClear" src="@/assets/userBind/addBack.png" class="addBack" >
linxin's avatar
linxin committed
301
          <list-item :item-height="44" class="card-Info">
李晓兵's avatar
李晓兵 committed
302 303
            <item>
              <div slot="name">银行卡卡号</div>
linxin's avatar
linxin committed
304 305 306
              <input
                slot="content"
                v-model="bank.bank_account_num"
李晓兵's avatar
李晓兵 committed
307

linxin's avatar
linxin committed
308 309
                placeholder="识别银行卡自动填充"
              >
李晓兵's avatar
李晓兵 committed
310 311 312 313 314 315 316
            </item>
            <item>
              <div slot="name">账户姓名</div>
              <input slot="content" v-model="bank.bank_account_name" placeholder="请输入账户名称" >
            </item>
            <item>
              <div slot="name">银行名称</div>
李晓兵's avatar
李晓兵 committed
317
              <input slot="content" v-model="bank.bank_full_name"  placeholder="识别银行卡自动填充" >
李晓兵's avatar
李晓兵 committed
318 319 320 321 322 323
            </item>
            <item>
              <div slot="name">支行名称</div>
              <input slot="content" v-model="bank.bank_branch_name" placeholder="请输入支行名称" >
            </item>
          </list-item>
李晓兵's avatar
李晓兵 committed
324
        </div>
李晓兵's avatar
李晓兵 committed
325
      </h-view>
李晓兵's avatar
李晓兵 committed
326
      <bottom-tab v-if="!isApproved || (isClear && isApproved)" class="add-box">
李晓兵's avatar
李晓兵 committed
327 328 329 330 331 332 333
        <tab-button class="add-card" @click.native="addBankInfo">添加</tab-button>
      </bottom-tab>
    </h-modal>
  </h-view>
</template>
<script>
import Tab from '@/components/tab'
linxin's avatar
linxin committed
334 335
import InvoiceInfo from '@/pages/userBind/np/invoiceInfo'
import BankInfo from '@/pages/userBind/np/bankInfo'
李晓兵's avatar
李晓兵 committed
336 337 338 339 340 341 342 343 344
export default {
  components: {
    Tab,
    InvoiceInfo,
    BankInfo,
  },
  data () {
    return {
      list: {},
linxin's avatar
linxin committed
345
      hasSP: false,
李晓兵's avatar
李晓兵 committed
346
      isPaople: false,
linxin's avatar
linxin committed
347 348
      isLesons: false,
      isMatter: false,
李晓兵's avatar
李晓兵 committed
349
      showModalValue: false,
linxin's avatar
linxin committed
350
      isApproved: false,
linxin's avatar
linxin committed
351
      isSave: false,
linxin's avatar
linxin committed
352
      isAGENT: this.$route.params.isAGENT,
353
      isSelected: false,
李晓兵's avatar
李晓兵 committed
354
      tabNum: 0,
linxin's avatar
linxin committed
355
      from: false,
linxin's avatar
linxin committed
356 357
      cityList: [],
      provinceList: [],
李晓兵's avatar
李晓兵 committed
358 359
      upload_list: [], // 上传图片列表
      dowload_list: [], // 下载图片列表
李晓兵's avatar
李晓兵 committed
360 361
      typeList: [],
      backList: [],
362
      bankList: [],
李晓兵's avatar
李晓兵 committed
363
      maritalList: [],
364
      getBankList: [],
linxin's avatar
linxin committed
365
      districtList: [],
李晓兵's avatar
李晓兵 committed
366 367 368
      bank: {
        bank_account_num: '',
        bank_account_name: '',
李晓兵's avatar
李晓兵 committed
369
        bank_card_type: '',
李晓兵's avatar
李晓兵 committed
370 371 372 373 374
        bank_full_name: '',
        bank_branch_name: '',
      },
      img_url: {},
      baseInfo: {
linxin's avatar
linxin committed
375 376 377
        bp_type_n: '',
        academic_background_n: '',
        marital_status_n: '',
李晓兵's avatar
李晓兵 committed
378 379 380
        bp_type: '',
        bp_class: this.$route.params.bp_class,
        bp_name: '',
linxin's avatar
linxin committed
381 382 383 384
        province_name: '',
        province_id: '',
        city_name: '',
        city_id: '',
李晓兵's avatar
李晓兵 committed
385
        id_card_no: null,
linxin's avatar
linxin committed
386
        cell_phone: null,
李晓兵's avatar
李晓兵 committed
387 388 389 390 391
        living_address: '',
        address_on_resident_booklit: '',
        marital_status: '',
        academic_background: '',
        bp_name_sp: '',
linxin's avatar
linxin committed
392 393
        district_id: '',
        district_name: '',
李晓兵's avatar
李晓兵 committed
394 395 396 397 398 399 400 401
        spouse_phone: '',
        working_place_sp: '',
        address_sp: '',
        invoice_bp_bank_account: '',
        taxpayer_type: '',
        invoice_title: '',
        invoice_bp_address_phone_num: '',
        invoice_kind: '',
linxin's avatar
linxin committed
402
        user_phone: window.localStorage.user_phone,
李晓兵's avatar
李晓兵 committed
403
      },
李晓兵's avatar
李晓兵 committed
404 405
      idCardFront: '', // 身份证正面图片
      idCardBack: '', // 身份证反面图片
李晓兵's avatar
李晓兵 committed
406
      bankImg: '', // 银行卡图片
李晓兵's avatar
李晓兵 committed
407
      cddItemList: [], // 资料清单列表
李晓兵's avatar
李晓兵 committed
408 409 410
      idCardCheck_id: '', // 身份证check_id
      idCardImgList: [], // 存身份证图片列表
      idCardEditFlag: false, // 身份证修改标识,为true则标识已修改,后续需要重新上传此照片
李晓兵's avatar
李晓兵 committed
411
      isClear: false,
李晓兵's avatar
李晓兵 committed
412 413 414
    }
  },
  watch: {
linxin's avatar
linxin committed
415
    'baseInfo.bp_type_n' (newVal, oldVal) {
李晓兵's avatar
李晓兵 committed
416 417 418
      let vm = this
      if (vm.baseInfo.bp_type === 'TENANT' || vm.baseInfo.bp_type === 'GUTA') {
        vm.isPaople = true
linxin's avatar
linxin committed
419 420
        vm.isMatter = false
        vm.isLesons = false
李晓兵's avatar
李晓兵 committed
421 422 423 424 425
      } else if (
        vm.baseInfo.bp_type === 'AGENT' ||
        vm.baseInfo.bp_type === 'FACTORY'
      ) {
        vm.isPaople = false
linxin's avatar
linxin committed
426 427 428 429 430 431
        vm.isMatter = false
        vm.isLesons = true
      } else if (vm.baseInfo.bp_type === 'OFFICE') {
        vm.isMatter = true
        vm.isPaople = false
        vm.isLesons = false
李晓兵's avatar
李晓兵 committed
432 433
      }
    },
linxin's avatar
linxin committed
434
    tabNum: function (newVal, oldVal) {
linxin's avatar
linxin committed
435
      if (newVal === 1 && !this.isSave && !this.from) {
linxin's avatar
linxin committed
436
        this.hlsPopup.showError('请先保存基本信息')
linxin's avatar
linxin committed
437
        this.tabNum = oldVal
李晓兵's avatar
李晓兵 committed
438
      }
linxin's avatar
linxin committed
439
    },
linxin's avatar
linxin committed
440
    'baseInfo.marital_status_n': function (newVal, oldVal) {
linxin's avatar
linxin committed
441 442 443 444 445 446 447 448 449 450
      if (newVal === '已婚') {
        this.hasSP = true
      } else {
        this.hasSP = false
        this.baseInfo.bp_name_sp = ''
        this.baseInfo.spouse_phone = ''
        this.baseInfo.working_place_sp = ''
        this.baseInfo.address_sp = ''
      }
    },
李晓兵's avatar
李晓兵 committed
451 452 453 454 455
  },
  created () {
    this.getBpType()
    this.getEducationBackground()
    this.getMarital()
linxin's avatar
linxin committed
456
    // this.getBankInfo()
linxin's avatar
linxin committed
457
    this.getProvince()
linxin's avatar
linxin committed
458 459 460
    if (this.$route.params.status === 'APPROVED') {
      this.isApproved = true
    }
李晓兵's avatar
李晓兵 committed
461
  },
linxin's avatar
linxin committed
462
  beforeRouteEnter (to, from, next) {
linxin's avatar
linxin committed
463
    if (from.fullPath === '/tab/my-info' || from.fullPath === '/margin-first-pay') { // 绑定查询入口
linxin's avatar
linxin committed
464
      next(vm => {
李晓兵's avatar
李晓兵 committed
465
        vm.from = true
linxin's avatar
linxin committed
466
        vm.basicInfoQuery()
李晓兵's avatar
李晓兵 committed
467
        vm.loadItemList()// 附件查询
linxin's avatar
linxin committed
468
        vm.getBankInfo()
linxin's avatar
linxin committed
469 470 471 472
      })
    }
    next()
  },
李晓兵's avatar
李晓兵 committed
473 474 475 476
  updated () {
    this.getinvoiceList()
  },
  methods: {
linxin's avatar
linxin committed
477 478 479 480 481 482 483 484 485 486 487
    basicInfoQuery () {
      let vm = this
      let url = process.env.basePath + 'bp_np_info_query'
      let param = {
        bp_id: vm.$route.params.bp_id,
      }
      hlsPopup.showLoading('请稍候')
      vm.$post(url, param).then(function (res) {
        vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          Object.assign(vm.baseInfo, res.info)
linxin's avatar
linxin committed
488
          vm.from = true
linxin's avatar
linxin committed
489 490 491 492 493
        } else {
          hlsPopup.showLongCenter(res.message)
        }
      })
    },
linxin's avatar
linxin committed
494 495 496 497 498 499 500 501 502 503
    changeUndertake () {
      this.$router.push({
        name: 'MarginFirstPay',
        params: {
          bp_id: this.$route.params.bp_id,
          status: this.$route.params.status,
          isAGENT: this.isAGENT,
        },
      })
    },
李晓兵's avatar
李晓兵 committed
504
    load_picture (check_id, index, cdd_item) {
李晓兵's avatar
李晓兵 committed
505
      let vm = this
李晓兵's avatar
李晓兵 committed
506
      let url = process.env.basePath + 'attachment_list_query' + '&index' + index // 附件查询
李晓兵's avatar
李晓兵 committed
507 508 509 510 511 512 513
      let param = {
        check_id: check_id,
      }
      hlsPopup.showLoading('请稍候')
      vm.$post(url, param).then(function (res) {
        vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
李晓兵's avatar
李晓兵 committed
514 515 516
          res.lists.forEach(item => {
            item['url'] = process.env.filePath + 'attachment_id=' + item.attachment_id + '&access_token=' + window.localStorage.access_token
          })
李晓兵's avatar
李晓兵 committed
517 518
          switch (cdd_item) {
            case 'NP_ID_CARD':
李晓兵's avatar
李晓兵 committed
519 520 521 522 523 524 525
              res.lists.forEach(item => {
                if (item.file_name === 'front.jpg') {
                  vm.idCardFront = item.url
                } else {
                  vm.idCardBack = item.url
                }
              })
李晓兵's avatar
李晓兵 committed
526 527 528 529
              break
            default:
              vm.dowload_list.push(res.lists)
          }
李晓兵's avatar
李晓兵 committed
530 531 532 533 534
        } else {
          hlsPopup.showLongCenter(res.message)
        }
      })
    },
李晓兵's avatar
李晓兵 committed
535
    async verified () {
李晓兵's avatar
李晓兵 committed
536
      this.dowload_list = [] // 保存之前将图片下载列表清空,防止出现重复的图片
李晓兵's avatar
李晓兵 committed
537 538 539
      this.upload_list = [] // 保存之前将待上传列表清空,防止出现重复的图片
      let bpId = await this.saveWord()
      this.getBankInfo()
李晓兵's avatar
李晓兵 committed
540
      // 查询资料清单
李晓兵's avatar
李晓兵 committed
541 542 543 544
      this.loadItemList()
    },
    loadItemList () {
      let vm = this
李晓兵's avatar
李晓兵 committed
545
      let bpId = vm.from ? vm.$route.params.bp_id : window.localStorage.getItem('user_id')
李晓兵's avatar
李晓兵 committed
546 547 548
      let url = process.env.basePath + 'prj_cdd_check_list'
      let param = {
        master: {
李晓兵's avatar
李晓兵 committed
549
          'document_id': bpId,
李晓兵's avatar
李晓兵 committed
550 551 552 553 554 555 556 557
          'document_table': 'HLS_BP_MASTER',
          'tab_group': 'HLS_NP',
        },
      }
      // vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        // vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
李晓兵's avatar
李晓兵 committed
558
          vm.cddItemList = []
李晓兵's avatar
李晓兵 committed
559 560 561 562 563
          var listTemp = [...res.lists]
          listTemp.forEach(item => {
            switch (item.cdd_item) {
              case 'NP_ID_CARD':
                vm.idCardCheck_id = item.check_id
李晓兵's avatar
李晓兵 committed
564 565 566
                break
              case 'BANK_CARD':

李晓兵's avatar
李晓兵 committed
567 568 569 570 571
                break
              default:
                vm.cddItemList.push(item)
            }
          })
李晓兵's avatar
李晓兵 committed
572
          // 查询图片
李晓兵's avatar
李晓兵 committed
573
          listTemp.forEach((item, index) => {
李晓兵's avatar
李晓兵 committed
574
            vm.load_picture(item.check_id, index, item.cdd_item)
李晓兵's avatar
李晓兵 committed
575
          })
李晓兵's avatar
李晓兵 committed
576 577 578 579
          if (vm.idCardEditFlag) { // 身份证图片已修改,重新上传
            var list = []
            for (let i = 0; i < vm.idCardImgList.length; i++) {
              let obj = {
李晓兵's avatar
李晓兵 committed
580
                'pkvalue': vm.idCardCheck_id,
李晓兵's avatar
李晓兵 committed
581 582
                'source_type': 'PRJ_CDD_ITEM_CHECK',
                'picture': '',
李晓兵's avatar
李晓兵 committed
583 584
                'check_id': vm.idCardCheck_id,
                'filePath': vm.idCardImgList[i].url,
李晓兵's avatar
李晓兵 committed
585 586
                'attachment_id': '',
                'user_id': 1,
李晓兵's avatar
李晓兵 committed
587
                'fileName': vm.idCardImgList[i].fileName,
李晓兵's avatar
李晓兵 committed
588 589 590 591 592
              }
              list.push(obj)
            }
            vm.save_picture(list)
          }
李晓兵's avatar
李晓兵 committed
593 594
        }
      })
linxin's avatar
linxin committed
595
    },
李晓兵's avatar
李晓兵 committed
596
    async saveProtocol () {
李晓兵's avatar
李晓兵 committed
597 598 599
      let vm = this
      let url = process.env.basePath + 'bp_np_bind_save'
      let param = {
linxin's avatar
linxin committed
600
        master: this.baseInfo,
李晓兵's avatar
李晓兵 committed
601 602
      }
      vm.hlsPopup.showLoading('保存中!')
李晓兵's avatar
李晓兵 committed
603 604 605 606 607 608 609 610 611 612
      let res = await vm.hlsHttp.post(url, param)
      if (res.result === 'S') {
        vm.hlsPopup.showSuccess('保存成功')
        vm.isSave = true
        window.localStorage.setItem('user_id', res.bp_id)
        window.sessionStorage.setItem('user_id', res.bp_id)
        window.sessionStorage.setItem('bp_name', vm.baseInfo.bp_name)
        window.localStorage.setItem('bp_name', vm.baseInfo.bp_name)
        return res.bp_id
      }
李晓兵's avatar
李晓兵 committed
613
    },
李晓兵's avatar
李晓兵 committed
614
    async saveWord () {
linxin's avatar
linxin committed
615 616 617 618 619
      let vm = this
      if (!vm.baseInfo.bp_type) {
        vm.hlsPopup.showLongCenter('客户类型不能为空!')
      } else if (vm.isSelected && vm.isPaople && !vm.baseInfo.agent_username) {
        vm.hlsPopup.showLongCenter('业务经办员工代码不能为空!')
linxin's avatar
linxin committed
620 621 622 623 624
      } else if (
        vm.isSelected &&
        !vm.isPaople &&
        !vm.baseInfo.business_license_num
      ) {
linxin's avatar
linxin committed
625 626 627 628 629
        vm.hlsPopup.showLongCenter('营业执照号不能为空!')
      } else if (!vm.baseInfo.bp_name) {
        vm.hlsPopup.showLongCenter('客户姓名不能为空!')
      } else if (!vm.baseInfo.id_card_no) {
        vm.hlsPopup.showLongCenter('身份证号不能为空!')
linxin's avatar
linxin committed
630
      } else if (!vm.baseInfo.cell_phone) {
linxin's avatar
linxin committed
631 632 633 634 635 636 637 638 639
        vm.hlsPopup.showLongCenter('手机号不能为空!')
      } else if (!vm.baseInfo.living_address) {
        vm.hlsPopup.showLongCenter('居住地址不能为空!')
      } else if (!vm.baseInfo.address_on_resident_booklit) {
        vm.hlsPopup.showLongCenter('户籍地址不能为空!')
      } else if (!vm.baseInfo.academic_background) {
        vm.hlsPopup.showLongCenter('学历不能为空!')
      } else if (!vm.baseInfo.marital_status) {
        vm.hlsPopup.showLongCenter('婚姻状况不能为空!')
linxin's avatar
linxin committed
640
      } else if (vm.marital_status_n === '已婚' && !vm.baseInfo.bp_name_sp) {
linxin's avatar
linxin committed
641
        vm.hlsPopup.showLongCenter('配偶姓名不能为空!')
linxin's avatar
linxin committed
642
      } else if (vm.marital_status_n === '已婚' && !vm.baseInfo.spouse_phone) {
linxin's avatar
linxin committed
643
        vm.hlsPopup.showLongCenter('配偶手机号不能为空!')
linxin's avatar
linxin committed
644 645 646 647
      } else if (
        vm.marital_status_n === '已婚' &&
        !vm.baseInfo.working_place_sp
      ) {
linxin's avatar
linxin committed
648
        vm.hlsPopup.showLongCenter('配偶工作单位不能为空!')
linxin's avatar
linxin committed
649
      } else if (vm.marital_status_n === '已婚' && !vm.baseInfo.address_sp) {
linxin's avatar
linxin committed
650
        vm.hlsPopup.showLongCenter('配偶居住地址不能为空!')
linxin's avatar
linxin committed
651
      } else if (!vm.hlsUtil.phoneNumber(vm.baseInfo.cell_phone)) {
linxin's avatar
linxin committed
652 653
        vm.hlsPopup.showLongCenter('手机号码有误!')
      } else {
李晓兵's avatar
李晓兵 committed
654 655
        let bpId = await vm.saveProtocol()
        return bpId
linxin's avatar
linxin committed
656 657
      }
    },
李晓兵's avatar
李晓兵 committed
658
    // 图片上传入口
李晓兵's avatar
李晓兵 committed
659
    imgUploadShow (check_id) {
李晓兵's avatar
李晓兵 committed
660
      let vm = this
李晓兵's avatar
李晓兵 committed
661
      // vm.upload_list = []
李晓兵's avatar
李晓兵 committed
662 663 664 665 666 667 668 669 670 671 672 673
      hlsPopup.showActionSheet({
        titleText: '请选择照片',
        buttonArray: ['拍照', '从相册取'],
        callback: index => {
          if (index === 0) {
            vm.imgUploadOpenCamera(check_id)
          } else {
            vm.imgUploadTakePicture(check_id)
          }
        },
      })
    },
李晓兵's avatar
李晓兵 committed
674
    imgUploadOpenCamera (check_id) {
李晓兵's avatar
李晓兵 committed
675 676
      let vm = this
      let obj = {
李晓兵's avatar
李晓兵 committed
677
        'pkvalue': check_id,
李晓兵's avatar
李晓兵 committed
678
        'source_type': 'PRJ_CDD_ITEM_CHECK',
李晓兵's avatar
李晓兵 committed
679
        'picture': '',
李晓兵's avatar
李晓兵 committed
680
        'check_id': check_id,
李晓兵's avatar
李晓兵 committed
681 682
        'filePath': '',
        'attachment_id': '',
李晓兵's avatar
李晓兵 committed
683
        'user_id': 1,
李晓兵's avatar
李晓兵 committed
684
        'fileName': '',
李晓兵's avatar
李晓兵 committed
685 686 687 688
      }
      let cameraoptions = {
        quality: 100,
      }
李晓兵's avatar
李晓兵 committed
689
      let success = function (imgdata) {
李晓兵's avatar
李晓兵 committed
690 691 692 693 694 695
        obj.picture = imgdata
        obj.filePath = imgdata
        let list = []
        list.push(obj)
        // vm.upload_list.push(obj)
        // 拍完一张立马执行保存图片逻辑
李晓兵's avatar
李晓兵 committed
696
        vm.save_picture(list)
李晓兵's avatar
李晓兵 committed
697 698 699
      }
      let error = function () {
      }
李晓兵's avatar
李晓兵 committed
700
      hlsUtil.openCamera(cameraoptions, success, error)
李晓兵's avatar
李晓兵 committed
701
    },
李晓兵's avatar
李晓兵 committed
702
    imgUploadTakePicture (check_id) {
李晓兵's avatar
李晓兵 committed
703 704 705 706 707
      let vm = this
      let cameraoptions = {
        quality: 100,
      }
      let success = function (imgUrl) {
李晓兵's avatar
李晓兵 committed
708
        var list = []
李晓兵's avatar
李晓兵 committed
709 710
        for (let i = 0; i < imgUrl.length; i++) {
          let obj = {
李晓兵's avatar
李晓兵 committed
711
            'pkvalue': check_id,
李晓兵's avatar
李晓兵 committed
712
            'source_type': 'PRJ_CDD_ITEM_CHECK',
李晓兵's avatar
李晓兵 committed
713
            'picture': '',
李晓兵's avatar
李晓兵 committed
714
            'check_id': check_id,
李晓兵's avatar
李晓兵 committed
715 716
            'filePath': '',
            'attachment_id': '',
李晓兵's avatar
李晓兵 committed
717
            'user_id': 1,
李晓兵's avatar
李晓兵 committed
718
            'fileName': '',
李晓兵's avatar
李晓兵 committed
719 720
          }
          obj.picture = imgUrl[i]
李晓兵's avatar
李晓兵 committed
721 722
          obj.filePath = imgUrl[i]
          list.push(obj)
李晓兵's avatar
李晓兵 committed
723
        }
linxin's avatar
linxin committed
724
        // 拍完一张立马执行保存图片逻辑
李晓兵's avatar
李晓兵 committed
725
        vm.save_picture(list)
李晓兵's avatar
李晓兵 committed
726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
      }
      let error = function () {
      }
      vm.hlsUtil.takePicture(cameraoptions, success, error)
    },
    // 图片保存
    save_picture (list) {
      let vm = this
      if (list.length) {
        // hlsPopup.showLoading('图片上传请稍候')
        var alreadyUploadNum = 0
        var attLength = 0
        var recordUploadInterval = setInterval(function () {
          if (alreadyUploadNum === attLength) {
            clearInterval(recordUploadInterval)
            hlsPopup.hideLoading()
            hlsPopup.showLongCenter('图片上传成功')
          }
        }, 500)
        for (var i = 0; i < list.length; i++) {
          let uploadSuccess = function (res) {
            if (res.result === 'S') {
              alreadyUploadNum++
              for (var j = 0; j < list.length; j++) {
                if (list[j].filePath === res.response.filePath) {
                  list[j].attachment_id = res.response.attachment_id
                  vm.upload_list.push(list[j])
                  break
                }
              }
            } else {
              hlsPopup.hideLoading()
            }
          }
          if (!list[i].attachment_id) {
            attLength++
            hlsUtil.fileUploadSvc(list[i], uploadSuccess)
          }
        }
      } else {
        hlsPopup.hideLoading()
      }
    },
李晓兵's avatar
李晓兵 committed
769 770 771 772 773 774 775
    // 移除图片
    remove_pic (attachment_id, index) {
      let vm = this
      var delete_list = []
      let obj = {'attachment_id': attachment_id}
      delete_list.push(obj)
      let url = process.env.basePath + 'app_delete_attment' // 附件删除
李晓兵's avatar
李晓兵 committed
776
      let param = {
李晓兵's avatar
李晓兵 committed
777
        'picturelist': delete_list,
李晓兵's avatar
李晓兵 committed
778 779
      }
      hlsPopup.showLoading('请稍候')
李晓兵's avatar
李晓兵 committed
780 781
      vm.hlsHttp.post(url, param).then(function (res) {
        hlsPopup.hideLoading()
李晓兵's avatar
李晓兵 committed
782
        if (res.result === 'S') {
李晓兵's avatar
李晓兵 committed
783 784 785 786
          hlsPopup.showLongCenter('删除成功!')
          vm.remove_upload_list(attachment_id, index)
        } else if (res.result === 'E') {
          hlsPopup.showShortCenter(res.message)
李晓兵's avatar
李晓兵 committed
787
        }
李晓兵's avatar
李晓兵 committed
788
      })
李晓兵's avatar
李晓兵 committed
789
    },
李晓兵's avatar
李晓兵 committed
790
    remove_upload_list (attachment_id, index) {
linxin's avatar
linxin committed
791
      let vm = this
李晓兵's avatar
李晓兵 committed
792 793 794 795 796 797 798 799 800 801
      vm.upload_list.remove(index)
      vm.upload_list.sort()
    },
    // 删除图片
    delete_pic (attachment_id) {
      let vm = this
      var delete_list = []
      let obj = {'attachment_id': attachment_id}
      delete_list.push(obj)
      let url = process.env.basePath + 'app_delete_attment' // 附件删除
linxin's avatar
linxin committed
802
      let param = {
李晓兵's avatar
李晓兵 committed
803
        'picturelist': delete_list,
linxin's avatar
linxin committed
804
      }
李晓兵's avatar
李晓兵 committed
805
      hlsPopup.showLoading('请稍候')
linxin's avatar
linxin committed
806
      vm.hlsHttp.post(url, param).then(function (res) {
李晓兵's avatar
李晓兵 committed
807
        hlsPopup.hideLoading()
linxin's avatar
linxin committed
808
        if (res.result === 'S') {
李晓兵's avatar
李晓兵 committed
809 810 811 812
          hlsPopup.showLongCenter('删除成功!')
          vm.remove_dowload_list(attachment_id)
        } else if (res.result === 'E') {
          hlsPopup.showShortCenter(res.message)
linxin's avatar
linxin committed
813 814
        }
      })
李晓兵's avatar
李晓兵 committed
815 816 817 818 819 820 821 822 823 824 825 826 827 828 829
    },
    remove_dowload_list (attachment_id) {
      let vm = this
      for (let i = 0; i < vm.dowload_list.length; i++) {
        let list = vm.dowload_list[i]
        for (let j = 0; j < list.length; j++) {
          let li = list[j]
          if (parseFloat(li.attachment_id) === parseFloat(attachment_id)) {
            list.remove(j)
            break
          }
        }
      }
      vm.dowload_list.sort()
    },
李晓兵's avatar
李晓兵 committed
830
    ocrShow (ocrType, type) {
linxin's avatar
linxin committed
831 832 833 834 835 836
      let vm = this
      hlsPopup.showActionSheet({
        titleText: '请选择照片',
        buttonArray: ['拍照', '从相册取'],
        callback: index => {
          if (index === 0) {
李晓兵's avatar
李晓兵 committed
837
            vm.openCamera(ocrType, type)
linxin's avatar
linxin committed
838
          } else {
李晓兵's avatar
李晓兵 committed
839
            vm.takePicture(ocrType, type)
linxin's avatar
linxin committed
840 841 842 843
          }
        },
      })
    },
李晓兵's avatar
李晓兵 committed
844
    openCamera (ocrType, type) {
linxin's avatar
linxin committed
845 846
      let vm = this
      let cameraoptions = {
李晓兵's avatar
李晓兵 committed
847 848 849
        quality: 60,
        width: 1843,
        height: 1382,
linxin's avatar
linxin committed
850 851
      }
      let success = function (imgdata) {
李晓兵's avatar
李晓兵 committed
852
        if (!imgdata) {
李晓兵's avatar
李晓兵 committed
853
          hlsPopup.showLongCenter('请拍照')
李晓兵's avatar
李晓兵 committed
854
        } else {
李晓兵's avatar
李晓兵 committed
855
          if (ocrType === 'idCard') {
李晓兵's avatar
李晓兵 committed
856
            vm.idCardEditFlag = true // 身份证图片状态已修改
linxin's avatar
linxin committed
857
            type === 'front' ? (vm.idCardFront = imgdata, vm.idCardIdentify(imgdata), vm.idCardImgList.push({'url': imgdata, 'fileName': 'front'})) : (vm.idCardBack = imgdata, vm.idCardImgList.push({'url': imgdata, 'fileName': 'back'}))
李晓兵's avatar
李晓兵 committed
858 859 860 861
          } else if (ocrType === 'bankCard') {
            vm.bankImg = imgdata
            vm.bankCardIdentify(imgdata)
          }
李晓兵's avatar
李晓兵 committed
862
        }
linxin's avatar
linxin committed
863 864
      }
      let error = function () {
李晓兵's avatar
李晓兵 committed
865
        hlsPopup.showLongCenter(error)
linxin's avatar
linxin committed
866 867 868
      }
      hlsUtil.openCamera(cameraoptions, success, error)
    },
李晓兵's avatar
李晓兵 committed
869
    takePicture (ocrType, type) {
linxin's avatar
linxin committed
870
      let vm = this
李晓兵's avatar
李晓兵 committed
871 872 873 874 875
      var cameraoptions = {
        quality: 70,
        width: 1843,
        height: 1382,
        maxCount: 1,
linxin's avatar
linxin committed
876 877
      }
      let success = function (imgUrl) {
李晓兵's avatar
李晓兵 committed
878
        if (imgUrl.length === 0) {
李晓兵's avatar
李晓兵 committed
879
          hlsPopup.showLongCenter('请选择一张图片')
李晓兵's avatar
李晓兵 committed
880
        } else {
李晓兵's avatar
李晓兵 committed
881
          if (ocrType === 'idCard') {
李晓兵's avatar
李晓兵 committed
882
            vm.idCardEditFlag = true // 身份证图片状态已修改
linxin's avatar
linxin committed
883
            type === 'front' ? (vm.idCardFront = imgUrl[0], vm.idCardIdentify(imgUrl[0]), vm.idCardImgList.push({'url': imgUrl[0], 'fileName': 'front'})) : (vm.idCardBack = imgUrl[0], vm.idCardImgList.push({'url': imgUrl[0], 'fileName': 'back'}))
李晓兵's avatar
李晓兵 committed
884 885 886 887
          } else if (ocrType === 'bankCard') {
            vm.bankImg = imgUrl[0]
            vm.bankCardIdentify(imgUrl[0])
          }
李晓兵's avatar
李晓兵 committed
888
        }
linxin's avatar
linxin committed
889 890
      }
      let error = function () {
李晓兵's avatar
李晓兵 committed
891
        hlsPopup.showLongCenter(error)
linxin's avatar
linxin committed
892 893 894
      }
      vm.hlsUtil.takePicture(cameraoptions, success, error)
    },
李晓兵's avatar
李晓兵 committed
895 896 897 898
    // 身份证识别
    idCardIdentify (fileUrl) {
      let vm = this
      hlsPopup.showLoading('正在识别')
李晓兵's avatar
李晓兵 committed
899
      let url = process.env.ocrPath + '/baidu/ocr/idCard'
李晓兵's avatar
李晓兵 committed
900 901
      hlsUtil.baiduOcr(fileUrl, url, function (res) {
        hlsPopup.hideLoading()
李晓兵's avatar
李晓兵 committed
902 903 904 905
        let result = res.result.words_result
        vm.baseInfo.bp_name = result.姓名.words
        vm.baseInfo.id_card_no = result.公民身份号码.words
        vm.baseInfo.address_on_resident_booklit = result.住址.words
李晓兵's avatar
李晓兵 committed
906 907
      })
    },
李晓兵's avatar
李晓兵 committed
908 909 910 911 912 913 914 915
    // 银行卡识别
    bankCardIdentify (fileUrl) {
      let vm = this
      hlsPopup.showLoading('正在识别')
      let url = process.env.ocrPath + '/baidu/ocr/bankCard'
      hlsUtil.baiduOcr(fileUrl, url, function (res) {
        hlsPopup.hideLoading()
        let result = res.result.result
李晓兵's avatar
李晓兵 committed
916
        vm.bank.bank_account_num = result.bank_card_number.replace(/\s*/g, '')
李晓兵's avatar
李晓兵 committed
917 918 919 920
        vm.bank.bank_full_name = result.bank_name
        vm.bank.bank_card_type = result.bank_card_type
      })
    },
linxin's avatar
linxin committed
921
    addRows (e) {
linxin's avatar
linxin committed
922
      let addNum = parseInt(e.length / 16)
linxin's avatar
linxin committed
923 924 925 926 927 928 929
      if (addNum === 0) {
        this.$refs.myTestarea.rows = 1
      } else if (addNum >= addNum - 1 && addNum < addNum + 1) {
        this.$refs.myTestarea.rows = addNum + 1
      }
    },
    addRowsLive (e) {
linxin's avatar
linxin committed
930
      let addNum = parseInt(e.length / 16)
linxin's avatar
linxin committed
931 932 933 934 935 936
      if (addNum === 0) {
        this.$refs.myTestareaLive.rows = 1
      } else if (addNum >= addNum - 1 && addNum < addNum + 1) {
        this.$refs.myTestareaLive.rows = addNum + 1
      }
    },
李晓兵's avatar
李晓兵 committed
937 938
    successCall () {
      this.hideModal()
939
      this.getBankInfo()
李晓兵's avatar
李晓兵 committed
940 941 942 943 944 945
      this.bank.bank_account_num = ''
      this.bank.bank_account_name = ''
      this.bank.bank_full_name = ''
      this.bank.bank_branch_name = ''
    },
    addBankInfo () {
786817560's avatar
786817560 committed
946 947 948
      this.hlsPopup.showConfirm({
        title: '提示',
        content: '您确认添加吗?',
linxin's avatar
linxin committed
949
        onConfirm: data => {
786817560's avatar
786817560 committed
950
          console.log(data)
李晓兵's avatar
李晓兵 committed
951
          if (data === 1) {
linxin's avatar
linxin committed
952
            let bpName = this.from ? this.$route.params.user_bp_name : window.localStorage.getItem('bp_name')
786817560's avatar
786817560 committed
953 954
            if (
              this.bank.bank_account_num === '' ||
linxin's avatar
linxin committed
955 956 957
              this.bank.bank_account_name === '' ||
              this.bank.bank_full_name === '' ||
              this.bank.bank_branch_name === ''
786817560's avatar
786817560 committed
958 959 960 961 962 963 964 965 966 967 968 969 970
            ) {
              this.hlsPopup.showLongCenter('请输入完整字段')
            } else if (this.hlsUtil.isBankAccount(this.bank.bank_account_num)) {
              this.hlsPopup.showLongCenter('银行卡号有误')
            } else if (this.bank.bank_account_name !== bpName) {
              this.hlsPopup.showLongCenter('请输入本人银行卡')
            } else {
              let list = JSON.parse(JSON.stringify(this.bank))
              this.bankList.push(list)
              let vm = this
              let url = process.env.basePath + 'bp_bank_save'
              let param = {
                master: {
李晓兵's avatar
李晓兵 committed
971
                  bp_id: this.from ? this.$route.params.bp_id : window.localStorage.getItem('user_id'),
786817560's avatar
786817560 committed
972 973 974 975 976 977 978 979 980 981 982 983 984
                  bank_lists: this.bankList,
                },
              }
              vm.hlsPopup.showLoading('请稍候')
              vm.hlsHttp.post(url, param).then(function (res) {
                vm.hlsPopup.hideLoading()
                if (res.result === 'S') {
                  vm.successCall()
                  vm.hlsPopup.showLongCenter('保存成功')
                  setTimeout(vm.successCall, 2000)
                }
              })
            }
985
          }
786817560's avatar
786817560 committed
986 987
        },
      })
李晓兵's avatar
李晓兵 committed
988
    },
989
    putData () {
linxin's avatar
linxin committed
990 991 992 993
      if (
        window.localStorage.getItem('user_id') &&
        window.localStorage.getItem('user_id') !== 'undefined'
      ) {
786817560's avatar
786817560 committed
994 995 996
        this.hlsPopup.showConfirm({
          title: '提示',
          content: '您确认提交吗?',
linxin's avatar
linxin committed
997
          onConfirm: data => {
786817560's avatar
786817560 committed
998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013
            console.log(data)
            if (data) {
              let vm = this
              let url = process.env.basePath + 'bp_bind_submit'
              let param = {
                master: {
                  bp_id: window.localStorage.getItem('user_id'),
                  company_id: '2145',
                },
              }
              vm.hlsPopup.showLoading('请稍候')
              vm.hlsHttp.post(url, param).then(function (res) {
                vm.hlsPopup.hideLoading()
                if (res.result === 'S') {
                  vm.hlsPopup.showSuccess('提交成功')
                  vm.$router.push({
linxin's avatar
linxin committed
1014
                    name: 'HomePage',
786817560's avatar
786817560 committed
1015
                  })
linxin's avatar
linxin committed
1016 1017
                } else {
                  vm.hlsPopup.showLongCenter(res.message)
786817560's avatar
786817560 committed
1018 1019 1020 1021 1022 1023 1024
                }
              })
            }
          },
        })
      } else {
        this.hlsPopup.showLongCenter('基本信息还未保存')
1025 1026
      }
    },
李晓兵's avatar
李晓兵 committed
1027 1028 1029
    hideModal () {
      this.showModalValue = false
    },
李晓兵's avatar
李晓兵 committed
1030
    getInfo (i, isClear) {
李晓兵's avatar
李晓兵 committed
1031
      this.isClear = isClear
linxin's avatar
linxin committed
1032
      if (isClear) {
李晓兵's avatar
李晓兵 committed
1033
        // this.bank = {}
李晓兵's avatar
李晓兵 committed
1034 1035 1036 1037 1038
        this.bank.bank_account_num = ''
        this.bank.bank_account_name = ''
        this.bank.bank_card_type = ''
        this.bank.bank_full_name = ''
        this.bank.bank_branch_name = ''
李晓兵's avatar
李晓兵 committed
1039
      }
李晓兵's avatar
李晓兵 committed
1040 1041
      this.showModalValue = i
    },
linxin's avatar
linxin committed
1042 1043 1044
    getList (a) {
      Object.assign(this.bank, a)
    },
李晓兵's avatar
李晓兵 committed
1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055
    showModal () {
      this.showModalValue = true
    },
    selectIdType (e) {
      let vm = this
      vm.hlsPopup.selectList({
        list: vm.typeList,
        code: 'bp_type',
        object: {},
        returnItem: function (index, obj) {
          vm.baseInfo.bp_type = obj.bp_type
linxin's avatar
linxin committed
1056
          vm.baseInfo.bp_type_n = obj.bp_type_n
1057
          vm.isSelected = true
李晓兵's avatar
李晓兵 committed
1058 1059 1060
        },
      })
    },
1061 1062
    getBankInfo () {
      let vm = this
linxin's avatar
linxin committed
1063 1064
      // let bpId = window.localStorage.getItem('user_id')
      let id = vm.from ? vm.$route.params.bp_id : window.localStorage.getItem('user_id')
1065 1066
      let url = process.env.basePath + 'bp_bank_query'
      let param = {
linxin's avatar
linxin committed
1067
        bp_id: id,
1068 1069
      }
      vm.hlsPopup.showLoading('请稍候')
linxin's avatar
linxin committed
1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080
      vm.hlsHttp
        .post(url, param)
        .then(function (res) {
          vm.hlsPopup.hideLoading()
          if (res.result === 'S') {
            vm.getBankList = res.lists
          }
        })
        .catch(() => {
          this.hlsPopup.showLongCenter('传入参数异常')
        })
1081
    },
李晓兵's avatar
李晓兵 committed
1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092
    getinvoiceList (i) {
      Object.assign(this.baseInfo, i)
    },
    selectBackType (e) {
      let vm = this
      vm.hlsPopup.selectList({
        list: vm.backList,
        code: 'bp_type',
        object: {},
        returnItem: function (index, obj) {
          vm.baseInfo.academic_background = obj.bp_type
linxin's avatar
linxin committed
1093
          vm.baseInfo.academic_background_n = obj.bp_type_n
李晓兵's avatar
李晓兵 committed
1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104
        },
      })
    },
    selectMarital (e) {
      let vm = this
      vm.hlsPopup.selectList({
        list: vm.maritalList,
        code: 'bp_type',
        object: {},
        returnItem: function (index, obj) {
          vm.baseInfo.marital_status = obj.bp_type
linxin's avatar
linxin committed
1105
          vm.baseInfo.marital_status_n = obj.bp_type_n
李晓兵's avatar
李晓兵 committed
1106 1107 1108
        },
      })
    },
linxin's avatar
linxin committed
1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139
    selectProvince (e) {
      let vm = this
      vm.hlsPopup.selectList({
        list: vm.provinceList,
        code: 'bp_type',
        object: {},
        returnItem: function (index, obj) {
          vm.baseInfo.province_id = obj.bp_type
          vm.baseInfo.province_name = obj.bp_type_n
          vm.getCity()
        },
      })
    },
    selectCity (e) {
      let vm = this
      if (vm.baseInfo.province_id === '') {
        hlsPopup.showLongCenter('请先选择省份')
      }
      vm.hlsPopup.selectList({
        list: vm.cityList,
        code: 'bp_type',
        object: {},
        returnItem: function (index, obj) {
          vm.baseInfo.city_id = obj.bp_type
          vm.baseInfo.city_name = obj.bp_type_n
          vm.getDistrict()
        },
      })
    },
    selectDistrict (e) {
      let vm = this
linxin's avatar
linxin committed
1140
      if (vm.baseInfo.city_id === '' || vm.baseInfo.province_id === '') {
linxin's avatar
linxin committed
1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207
        hlsPopup.showLongCenter('请先选择城市')
      }
      vm.hlsPopup.selectList({
        list: vm.districtList,
        code: 'bp_type',
        object: {},
        returnItem: function (index, obj) {
          vm.baseInfo.district_id = obj.bp_type
          vm.baseInfo.district_name = obj.bp_type_n
        },
      })
    },
    getProvince () {
      let vm = this
      let url = process.env.basePath + 'fnd_province_query'
      let param = {}
      vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          vm.provinceList = res.lists.map(item => {
            return {
              code: item.province_id,
              code_name: item.province_name,
            }
          })
        }
      })
    },
    getCity () {
      let vm = this
      let url = process.env.basePath + 'fnd_city_query'
      let param = {
        province_id: vm.baseInfo.province_id,
      }
      // vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        // vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          vm.cityList = res.lists.map(item => {
            return {
              code: item.city_id,
              code_name: item.city_name,
            }
          })
        }
      })
    },
    getDistrict () {
      let vm = this
      let url = process.env.basePath + 'fnd_district_query'
      let param = {
        city_id: vm.baseInfo.city_id,
      }
      // vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        // vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          vm.districtList = res.lists.map(item => {
            return {
              code: item.district_id,
              code_name: item.district_name,
            }
          })
        }
      })
    },
李晓兵's avatar
李晓兵 committed
1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275
    getMarital () {
      let vm = this
      let url = process.env.basePath + 'bp_marital_status_query'
      let param = {}
      vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          vm.maritalList = res.lists.map(item => {
            return {
              code: item.marital_status,
              code_name: item.marital_status_n,
            }
          })
        }
      })
    },
    getEducationBackground () {
      let vm = this
      let url = process.env.basePath + 'bp_academic_bg_query'
      let param = {}
      vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          vm.backList = res.lists.map(item => {
            return {
              code: item.academic_bg,
              code_name: item.academic_bg_n,
            }
          })
        }
      })
    },
    getTabNum (i) {
      this.tabNum = i
    },
    fileSuccess (fileList, result) {
      this.fileList = fileList
      this.fileList.forEach((itemFile, index) => {
        if (
          result.response &&
          itemFile.file &&
          !itemFile.attachment_id &&
          result.response.fileName === itemFile.file.name
        ) {
          itemFile.attachment_id = result.response.attachment_id
        }
      })
    },

    getBpType () {
      let vm = this
      let url = process.env.basePath + 'bp_type_select'
      let param = {}
      vm.hlsPopup.showLoading('请稍候')
      vm.hlsHttp.post(url, param).then(function (res) {
        vm.hlsPopup.hideLoading()
        if (res.result === 'S') {
          vm.typeList = res.lists.map(item => {
            return {
              code: item.bp_type,
              code_name: item.bp_type_n,
            }
          })
        }
      })
    },
李晓兵's avatar
李晓兵 committed
1276 1277 1278 1279 1280
    // 查看大图
    showBigPicture (pic) {
      let vm = this
      vm.hlsPopup.showBigPicture({
        imgUrl: pic,
李晓兵's avatar
李晓兵 committed
1281
        width: '100% !important',
李晓兵's avatar
李晓兵 committed
1282 1283
      })
    },
李晓兵's avatar
李晓兵 committed
1284 1285 1286
  },
}
</script>
李晓兵's avatar
李晓兵 committed
1287
<style lang="less">
linxin's avatar
linxin committed
1288
#base-info1 {
李晓兵's avatar
李晓兵 committed
1289 1290 1291 1292
  font-family: PingFangSC-Regular;
  input::placeholder {
    color: #b4b4b5;
  }
linxin's avatar
linxin committed
1293 1294 1295 1296 1297 1298
  textarea::placeholder {
    color: #b4b4b5;
  }
  textarea {
    text-align: right;
  }
linxin's avatar
linxin committed
1299 1300 1301 1302 1303 1304
  // .compute{
  //   display:block;
  //   font-size: 14px;
  // }
  .tax {
    width: 351px;
linxin's avatar
linxin committed
1305
    height: 78px;
linxin's avatar
linxin committed
1306 1307
    background: #fff;
    margin: 0 auto;
linxin's avatar
linxin committed
1308
    margin-bottom: 30px;
linxin's avatar
linxin committed
1309
    display: flex;
linxin's avatar
linxin committed
1310
    align-items: center;
linxin's avatar
linxin committed
1311 1312 1313 1314 1315
    .left-img {
      width: 24px;
      height: 28px;
      flex: 2.5;
      padding-left: 24px;
linxin's avatar
linxin committed
1316
    }
linxin's avatar
linxin committed
1317 1318 1319 1320
    div {
      flex: 25;
      padding-left: 24px;
      span {
linxin's avatar
linxin committed
1321 1322
        font-family: PingFangSC-Regular;
        font-size: 14px;
linxin's avatar
linxin committed
1323
        color: #383f45;
linxin's avatar
linxin committed
1324 1325 1326
        letter-spacing: 0;
        line-height: 22px;
      }
linxin's avatar
linxin committed
1327
      p {
linxin's avatar
linxin committed
1328 1329
        font-family: PingFangSC-Regular;
        font-size: 12px;
linxin's avatar
linxin committed
1330
        color: rgba(56, 63, 69, 0.5);
linxin's avatar
linxin committed
1331 1332 1333 1334
        letter-spacing: 0;
        line-height: 22px;
      }
    }
linxin's avatar
linxin committed
1335 1336 1337 1338 1339
    .right-img {
      width: 10px;
      height: 16px;
      flex: 1;
      padding-right: 21px;
linxin's avatar
linxin committed
1340 1341
    }
  }
李晓兵's avatar
李晓兵 committed
1342 1343 1344 1345 1346 1347 1348 1349 1350 1351
  .header {
    background-color: #00469c;
    color: #fff;
    .h-header-btn {
      img {
        width: 16px;
        height: 16px;
        margin-left: 4px;
      }
      span {
linxin's avatar
linxin committed
1352
        color: #fff;
李晓兵's avatar
李晓兵 committed
1353 1354 1355 1356 1357 1358 1359 1360 1361
        font-family: PingFangSC-Semibold;
        margin-left: 16px;
        font-size: 17px;
        letter-spacing: 0.6px;
        line-height: 24px;
      }
    }
  }
  .content {
1362
    height: 76%;
李晓兵's avatar
李晓兵 committed
1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432
    .userInfo {
      height: 45px;
      line-height: 45px;
      color: #00469c;
      margin-top: -10px;
      font-size: 15px;
      margin-left: 16px;
      position: relative;
    }
    .userInfo::before {
      content: "";
      display: block;
      width: 4px;
      height: 20px;
      background-color: #00469c;
      position: absolute;
      left: -15px;
      top: 12px;
    }
    .upload-id-card {
      height: 176px;
      background-color: #fff;
      span {
        display: block;
        color: #656464;
        margin-left: 16px;
        padding-top: 16px;
        font-size: 13px;
      }
      .upload-box {
        display: flex;
        justify-content: center;
        margin-top: 15px;
        div {
          width: 172px;
          height: 120px;
          border: 1px dashed #dcdcdd;
          text-align: center;
          font-size: 14px;
          color: #b4b4b5;
          .front,
          .back {
            width: 172px;
            height: 120px;
          }
        }
        div:nth-of-type(2) {
          margin-left: 7px;
        }
        img {
          margin-top: 32px;
          width: 58px;
          height: 45px;
        }
        p {
          margin-top: 12px;
          font-size: 13px;
        }
      }
    }
    .second-part {
      margin-top: 9px;
      .auto {
        color: #b4b4b5;
      }
    }
    .card {
      padding-bottom: 8px;
      height: auto;
      background-color: #fff;
linxin's avatar
linxin committed
1433
      margin-bottom: 15px;
李晓兵's avatar
李晓兵 committed
1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456
      span {
        color: #656464;
        font-size: 13px;
        line-height: 18px;
        padding-top: 8px;
        display: block;
        margin-left: 16px;
      }
      .img-content {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
      }
      .card-upload {
        width: 88px;
        height: 88px;
        border: 1px dashed #dcdcdd;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 12px;
        margin-left: 12px;
李晓兵's avatar
李晓兵 committed
1457 1458 1459
        float: left;
        .close {
          position: relative;
linxin's avatar
linxin committed
1460
          color: #f96f68;
李晓兵's avatar
李晓兵 committed
1461 1462
          margin-top: -100%;
          margin-left: -10%;
linxin's avatar
linxin committed
1463
          img {
李晓兵's avatar
李晓兵 committed
1464 1465 1466 1467
            width: 14px;
            height: 14px;
          }
        }
李晓兵's avatar
李晓兵 committed
1468
        img {
李晓兵's avatar
李晓兵 committed
1469 1470 1471
          width: 88px;
          height: 88px;
        }
linxin's avatar
linxin committed
1472
        .upload-btn {
李晓兵's avatar
李晓兵 committed
1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486
          width: 24px;
          height: 24px;
        }
      }
    }
  }
  .put {
    width: 175px;
    height: 45px;
    color: #00469c;
    border-radius: 4px;
    border: 1px solid #00469c;
    background-color: #fafafa;
  }
linxin's avatar
linxin committed
1487 1488
  .put-approved {
    width: 90%;
linxin's avatar
linxin committed
1489 1490 1491 1492 1493
    height: 45px;
    color: #fff;
    border-radius: 4px;
    background-color: #00469c;
  }
李晓兵's avatar
李晓兵 committed
1494 1495 1496 1497 1498 1499 1500 1501
  .save {
    width: 175px;
    height: 45px;
    color: #fff;
    border-radius: 4px;
    background-color: #00469c;
  }
  .footer-button {
1502 1503
    padding-top: 15px;
    margin-bottom: 15px;
李晓兵's avatar
李晓兵 committed
1504 1505 1506 1507 1508 1509 1510 1511
  }
  .front,
  .photo,
  .backphoto,
  .back {
    display: none;
  }
  .modal-content {
李晓兵's avatar
李晓兵 committed
1512
    width: 100%;
1513
    height: 75%;
李晓兵's avatar
李晓兵 committed
1514
    position: absolute;
1515
    top: 25%;
李晓兵's avatar
李晓兵 committed
1516
    background-color: #fff;
linxin's avatar
linxin committed
1517
    overflow-y: scroll;
李晓兵's avatar
李晓兵 committed
1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567
    .modal-content-add-top {
      width: 320px;
      height: 34px;
      line-height: 34px;
      padding-top: 10px;
      background-color: #fff;
      padding-bottom: 40px;
      position: fixed;
      left: 28px;
      span {
        font-family: PingFangSC-Semibold;
        font-size: 15px;
        color: #00469c;
        letter-spacing: 0.47px;
      }
      img {
        width: 34px;
        height: 34px;
        float: right;
      }
    }
    .addBack {
      display: block;
      width: 320px;
      margin: 0 auto;
      margin-top: 50px;
      border-radius: 6px;
      margin-bottom: 17px;
    }

    .card-Info {
      margin-bottom: 220px;
    }
  }
  .add-card {
    width: 358px;
    height: 40px;
    background: #00469c;
    border-radius: 4px;
    color: #fff;
  }
}
.modal {
  background-color: rgba(0, 0, 0, 0) !important;
}
.hls-notify-wrap {
  height: 50px;
  line-height: 34px !important;
}
</style>