<template>
  <div class="content">
    <div style="width: 100%">
      <van-form label-width="25%" @submit="onSubmit">
        <!-- <mobile-input v-model="type_of_certificate" placeholder="营业执照" readonly label="证件类型" /> -->
        <d-select
          placeholder="请选择"
          label="证件类型"
          :value="IdentTp"
          border="true"
          :required="true"
          v-model="IdentTp"
          sfield="IdentTp"
          size="small"
          :rules="[{ required: true, message: '证件类型不能为空' }]"
        ></d-select>
        <mobile-input
          :formatter="formatter"
          format-trigger="reset"
          v-model="IdentNo"
          :required="true"
          :rules="[{ validator, message: msg == '' ? '类型不能为空' : msg }]"
          label="证件号码"
        />
        <mobile-input
          v-show="companyName != ''"
          class="contact_tel"
          placeholder="请输入联系电话"
          label="公司名称"
          readonly
          v-model="companyName"
        />
        <div style="margin: 16px; display: flex; justify-content: space-around">
          <van-button
            @click="reset"
            style="width: 40%"
            round
            color="#999999"
            native-type="info"
            plain
            >重置</van-button
          >
          <van-button style="width: 40%" round type="info" native-type="submit"
            >计算</van-button
          >
        </div>
      </van-form>
      <div class="content-style" v-show="LOAN_BAL != '' && LOAN_BAL != null">
        <table-single-view
          :data="AUMInfo"
          :keyValue="keyValueAum"
        ></table-single-view>
      </div>
    </div>
  </div>
</template>

<script lang="ts">
import { Component, Vue } from "vue-property-decorator";
import nettyApi from "@/constants/api/ms-netty/netty.api.ts";
import systemApi from "@/constants/api/ms-system/system.api.ts";
import IF from "@/public/factory/InterFaceFactory";
import { NativeUI } from "@/public/ts/NativeUI";
import TableSingleView from "@/public/TableSingleView.vue";
// import emUtil from '@/public/js/em.util';
/**
 * @Description 年日均计算
 * @Author JiangTao
 * @Date 2021-11-10 下午 03:36
 */
@Component({
  name: "Calculate",
  components: { TableSingleView },
})
export default class Calculate extends Vue {
  IdentTp = "";
  IdentNo = "";
  msg = "输入不能为空";
  cusInfo: any = {};
  AUMInfo: any = {}; //查询AUM返回的信息
  keyValueAum = {
    LOAN_BAL: "贷款总额",
    LOAN_YEAR_DAY_AVG: "贷款年日均",
  };
  LOAN_BAL = "";
  companyName = "";
  onSubmit() {
    this.selectCustInfo();
  }
  formatter() {}
  reset() {
    this.IdentNo = "";
    this.IdentTp = "";
  }
  // 暂无拍照接口
  // ocrScan(bse64Img:any) {
  //     if (!this.IdentTp) {
  //       NativeUI.toast('请先选择证件类型');
  //     } else {
  //       emUtil.captureImage().then(localData => {
  //         let _this = this;
  //         let fileImage = _this.base64ToFile(localData);
  //         NativeUI.showWaiting('正在识别...');
  //         IF.transferFile(systemApi.ocrCertificateIdentify, { file: fileImage }).then(res => {
  //           NativeUI.closeWaiting();
  //           console.log(res);
  //           if (res.ret_code == '000000') {
  //             NativeUI.toast(res.msg);
  //             _this.IdentNo = res.REGISTER_ID;
  //             // _this.CstNm = res.COMPANY_NAME;
  //             // _this.displayValue = res.COMPANY_TYPE;
  //           } else {
  //             NativeUI.toast(res.msg || 'OCR识别失败');
  //           }
  //         });
  //       });
  //     }
  //   }
  //证件号校验规则
  validator(val: any) {
    if (this.IdentTp == "1") {
      this.msg = "组织机构代码输入有误";
      return /[A-Z0-9]{8}-[A-Z0-9]$|[A-Z0-9]{8}-[A-Z0-9]-[0-9]{2}$/.test(val);
    } else if (this.IdentTp == "2") {
      //社会统一信用代码
      this.msg = "社会统一信用代码输入有误";
      return /[1-9A-GY]{1}[1239]{1}[1-5]{1}[0-9]{5}[0-9A-Z]{10}/.test(val);
    }
  }
  //查询年日均AUM
  selectAUMInfo() {
    const param = {
      CUST_NO: this.cusInfo.cus_id, //'1003813734'
      CUST_NAME: this.cusInfo.cus_name, //'成***',
      tc: nettyApi.TRADE_CODE.selectCompanyAumInfo,
    };
    NativeUI.showWaiting("正在查询...");
    return IF.transferDataInter(nettyApi.commonRq, param).then((res: any) => {
      NativeUI.closeWaiting();
      if (res.rc == "1") {
        if (res.LOAN_BAL != null) {
          this.AUMInfo = res;
          this.LOAN_BAL = res.LOAN_BAL;
        } else {
          NativeUI.toast("此用户无AUM数据");
        }
      } else {
        NativeUI.toast(res.msg);
      }
    });
  }
  //查询客户列表
  selectCustInfo(pageNo = 1) {
    const param = {
      cus_status: "",
      cert_code: this.IdentNo,
      cus_type: "",
      maxLine: "1",
      targetPage: 1,
      tc: nettyApi.TRADE_CODE.selectXDGSXX,
    };
    NativeUI.showWaiting("正在查询...");
    return IF.transferDataInter(nettyApi.commonRq, param).then((res: any) => {
      NativeUI.closeWaiting();
      if (res.rc == "1") {
        if (res.CusComList.length > 0) {
          this.cusInfo = res.CusComList[0];
          this.companyName = res.CusComList[0].cus_name;
          this.selectAUMInfo();
        } else {
          NativeUI.toast("信贷系统无此用户");
        }
      } else {
        NativeUI.toast(res.msg);
      }
    });
  }
}
</script>

<style scoped lang="scss">
.content {
  width: 50%;
  padding-top: 5%;
  margin: 0 auto;
}
::v-deep .van-button--info {
  background-color: #fd5065;
  border: 1px solid #fd5065;
}
::v-deep .van-button__text {
  font-size: 16px;
}
.content-style {
  margin-left: 100px;
  margin-top: 100px;
}
</style>
