<template>
    <div class="app-container">
        <el-form ref="form" :model="form"  disabled :rules="rules" :inline="true" style="margin-top: 20px" label-width="auto" >
            <el-row>
                <el-col :span="8">
                        <el-form-item label="融信编号" prop="zfiNumber">
                            <el-input v-model="form.zfiNumber" style="width: 200px"/>
                        </el-form-item>
                </el-col>
                <el-col :span="8">
                        <el-form-item label="创建时间" prop="createTime">
                            <el-date-picker disabled size="small" style="width: 200px" v-model="form.createTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss">
                            </el-date-picker>
                        </el-form-item>
                </el-col>
                <el-col :span="8">
                        <el-form-item label="创建人" prop="createName">
                            <el-input v-model="form.createName" style="width: 200px"/>
                        </el-form-item>
                </el-col>
                <el-col :span="8">
                        <el-form-item label="开立方" prop="openName">
                            <el-input v-model="form.openName" style="width: 200px"/>
                        </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="接收方" prop="receiveName">
                        <el-input v-model="form.receiveName" style="width: 200px"/>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="授信额度" prop="zfpName" >
                         <el-input v-model="form.zfpName" style="width: 200px"/>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="8">
                    <el-form-item label="签发有效期" prop="zfiEffectiveDate">
                         <el-date-picker disabled size="small" style="width: 200px" v-model="form.zfiEffectiveDate" type="date" value-format="yyyy-MM-dd">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-form-item label="承诺还款日" prop="zfiExpireDate" >
                        <el-date-picker disabled size="small" style="width: 200px" v-model="form.zfiExpireDate" type="date" value-format="yyyy-MM-dd">
                        </el-date-picker>
                    </el-form-item>
                </el-col>
                <!-- <el-col :span="8">
                    <el-form-item label="收款账号" prop="zfiCollectionAccount" v-if="isShow">
                         <el-input v-model="form.zfiCollectionAccount" style="width: 200px"/>
                    </el-form-item>
                </el-col> -->
            </el-row>
            <el-divider content-position="left" >{{tableTitle}}</el-divider>
            <el-form-item  style="margin-left: 100px">
                <el-form-item label="合计金额:">
                        <span>{{checkTotalAmt}}</span>
                </el-form-item>
                <el-form-item label="金额大写:">
                        <span>{{checkTotalBigAmt}}</span>
                </el-form-item>

                <el-table :data="payList" style="width: 1100px">
                    <el-table-column label="账款名称"  align="center"  prop="zbiName" show-overflow-tooltip />
                    <el-table-column label="应收企业"  align="center"  prop="receiveName"/>
                    <el-table-column label="应付企业"  align="center"  prop="payName"    />
                    <el-table-column label="预计还款期"  align="center"  prop="zbiPayDate" show-overflow-tooltip />
                    <el-table-column label="金额"  align="center"  prop="zbiAmount" />
                </el-table>
            </el-form-item>
            <el-row>
                <el-col :span="8">
                    <el-form-item label="签发金额" prop="zfiAmount">
                         <el-input v-model="form.zfiAmount" style="width: 200px"/>
                    </el-form-item>
                </el-col>

            </el-row>
            <el-row>
                <el-col :span="8">
                    <el-form-item label="金额大写" prop="issuedAmount">
                         {{issuedAmount}}
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
          <!-- 发票附件 -->
        <el-divider content-position="left">发票附件</el-divider>
        <el-table :data="invoiceFileList"  style="width: 100%">
                <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
                <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right" >
                    <template slot-scope="scope">
                        <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-view"
                            @click="handleDownload(scope.row)"
                        >下载</el-button>
                        <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-view"
                            @click="handlePreview(scope.row)"
                        >预览</el-button>
                    </template>
                </el-table-column>
        </el-table>
        <!-- 合同附件 -->
        <el-divider content-position="left">合同附件</el-divider>
        <el-table :data="contractFileList"  style="width: 100%">
               <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
               <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right" >
                    <template slot-scope="scope">
                        <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-view"
                            @click="handleDownload(scope.row)"
                        >下载</el-button>
                        <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-view"
                            @click="handlePreview(scope.row)"
                        >预览</el-button>
                    </template>
                </el-table-column>
        </el-table>
        <!-- 其他附件 -->
        <el-divider content-position="left">其他附件</el-divider>
        <el-table :data="otherFileList"  style="width: 100%">
                <el-table-column label="文件名称" align="center" prop="pfiFileName" show-overflow-tooltip />
                <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width='300' fixed="right" >
                    <template slot-scope="scope">
                        <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-view"
                            @click="handleDownload(scope.row)"
                        >下载</el-button>
                        <el-button
                            size="mini"
                            type="text"
                            icon="el-icon-view"
                            @click="handlePreview(scope.row)"
                        >预览</el-button>
                    </template>
                </el-table-column>
        </el-table>
        <el-divider content-position="left">盖章附件</el-divider>
        <el-row>
            <img    style="width:50px;height:50px;"
                    :key="dict.pfiFileId"
                    src="../../../assets/images/pdf.png"
                    v-for="dict in creditSealList"
                    @click="handlePreview(dict)"
                    :title="dict.pfiFileName"
                >
        </el-row>
        <div class="footer" style="float: right;
            margin-bottom:2px;">
            <el-button type="success" @click="getContractFile">预览文件</el-button>
            <el-button type="info" @click="refuse">拒签</el-button>
            <el-button type="primary" @click="selectType">盖章</el-button>
            <el-button @click="cancel">取消</el-button>
        </div>
        <el-dialog
            :visible.sync="pdfShowDialog"
            width="90%">
            <pdf-show :pdfFileList="pdfFileList">
            </pdf-show>
        </el-dialog>
         <!--选择签署意愿类型-->
        <el-dialog  :visible.sync="confirmIsShow" width="600px"  append-to-body :before-close = "cancelUpdate" center>
            <el-form ref="updateForm"  :disabled="false" :model="updateForm"  v-if="confirmIsShow" label-width="150px"  class="demo-form-inline" :inline="true">
                 <el-radio-group v-model="updateForm.radio">
                    <el-radio label="01">人脸</el-radio>
                    <el-radio label="02">短信</el-radio>
                 </el-radio-group>
            </el-form>

            <div slot="footer" class="dialog-footer">
                <el-button type="primary" @click="confirmSelect">确 定</el-button>
                <el-button @click="cancelUpdate">取 消</el-button>
            </div>
        </el-dialog>
        <!--短信-->
        <el-dialog  :visible.sync="messageIsShow" width="800px"  append-to-body :before-close = "cancelMessage" center>
            <el-form ref="messageForm"  :disabled="false" :model="messageForm"  v-if="messageIsShow" label-width="150px"  class="demo-form-inline" :inline="true" @submit.native.prevent>
                    <el-form-item label="验证码" prop="validCode">
                        <el-input v-model="messageForm.validCode" style="width: 200px" maxlength="6"  oninput="value=value.replace(/[^\d]/g,'')"/>
                    </el-form-item>
                    <el-form-item>
                        <el-button  v-show="messShow"  type="success" @click="send">点击获取验证码</el-button>
                        <el-button v-show="!messShow" type="success" disabled><span>{{timer}}</span>秒后重新获取</el-button>
                    </el-form-item>

            </el-form>
            <div slot="footer" class="dialog-footer">
                <el-button type="primary" @click="checkCode">确定</el-button>
                <el-button @click="cancelMessage">取 消</el-button>
            </div>
        </el-dialog>
        <!--授权编号的短信框-->
        <el-dialog  :visible.sync="projectIsShow" width="800px"  append-to-body :before-close = "cancelProject" center>
            <el-form ref="projectForm"  :disabled="false" :model="projectForm"  v-if="projectIsShow" label-width="150px"  class="demo-form-inline" :inline="true">
                    <el-form-item label="验证码" prop="code">
                        <el-input v-model="projectForm.code" style="width: 200px" maxlength="6"  oninput="value=value.replace(/[^\d]/g,'')"/>
                    </el-form-item>
                    <el-form-item>
                        <el-button  v-show="proShow"  type="success" @click="proSend">点击获取验证码</el-button>
                        <el-button v-show="!proShow" type="success" disabled><span>{{proTimer}}</span>秒后重新获取</el-button>
                    </el-form-item>

            </el-form>
            <div slot="footer" class="dialog-footer">
                <el-button type="primary" @click="checkProCode">确定</el-button>
                <el-button @click="cancelProject">取 消</el-button>
            </div>
        </el-dialog>
        <!--人脸二维码-->
        <el-dialog  :visible.sync="faceIsShow" width="500px"  append-to-body :before-close = "cancelFace" center>
             <img :src="'data:image/jpeg;base64,' + this.fileUrl" style="overflow: auto; width: 100%; height: 100%;"/>
        </el-dialog>
          <!--预览-->
        <el-dialog  :visible.sync="openFile" width="1000px" append-to-body>
            <img :src="wordUrl" v-if="show" width='450px' height='500px'/>
            <iframe :src="wordUrl" width='800px' height='600px' frameborder='1' v-if="heid"/>
        </el-dialog>
  </div>
</template>
<script>
import {getCreditDetail,getFile} from "@/api/service/credit/credit";
import {accAdd} from "@/utils/calculation";
import {getContractFile,sealRefuse,getCreditSealFile} from "@/api/service/credit/creditHandle";
import {sendMessage,checkCode,faceAuth,checkFaceAuth,contractSigning} from "@/api/service/credit/message";
import {cfcaProjectNo,projectSendMessage,checkProCode} from "@/api/service/credit/cfcaProject";
import pdfShow from "./pdfShow";
import {getToken} from "@/utils/auth";
export default {
    name: "CreditSeal",
    components: {pdfShow},
    data() {
        return {
            // 总条数
            total: 0,
            // 表单参数
            form: {

            },
            // 表单校验
            rules: {
            },
            // 是否显示弹出层
            open: false,
           //应付账款
           payList:[],
           //签发金额大写
           issuedAmount:"零元整",
           //合计选中的应付账款的金额
           checkTotalAmt:"0.00",
           //合计选中的应付账款的大写金额
            checkTotalBigAmt:"零元整",
            //标题
            tableTitle:"",
            //控制收款账号是否显示
            isShow:false,
            //获取类型
            createType:'',
            //合同附件
            contractFileList:[],
            //发票附件
            invoiceFileList:[],
            //其他文件
            otherFileList:[],
            pdfShowDialog : false,
            pdfFileList : [],
            //展示选择意愿
            confirmIsShow:false,
            //意愿
            updateForm:{},
            //意愿类型
            zfpAuthTypeInit:'',
            zfpAuthType:'',
            //短信展示
            messageIsShow:false,
            //短信
            messageForm:{validCode:""},
            //人脸二维码
            fileUrl:"",
            //控制人脸二维码是否展示
            faceIsShow:false,
            //人脸验证结果
            faceResult:"",
            //人脸识别结果传参
            authForm:{},
            //控制短信验证码倒计时是否展示
            messShow:true,
            timer:60,
            openFile:false,
            wordUrl: "",
            show:false,
            heid:false,
            auth_timer : null,
            //融资方审批状态
            zfiSupplierStatus:'',
            //核心审批状态
            zfiCoreStatus:'',
            //平台审批状态
            zfiPlatformStatus:'',
            //融信状态
            zfiStatus:'',
            //盖章文件
            creditSealList:[],
            //生成授权编号的短信框
            projectIsShow:false,
            //短信
            projectForm:{code:""},
            //控制倒计时是否展示
            proShow:true,
            //时间
            proTimer:60,
            //项目编号
            projectCode:""
        };
    },
    activated() {
         const zfiId = this.$route.params && this.$route.params.zfiId;
         getCreditDetail(zfiId).then((response) => {
             if(response.data){
                //融信信息
                this.form = response.data.financeInf;
                //类型
                this.createType = response.data.financeInf.zfiCreateType;
                //融信状态
                 this.zfiStatus = response.data.financeInf.zfiStatus;
                 //融资方审批状态
                 this.zfiSupplierStatus =  response.data.financeInf.zfiSupplierStatus;
                 //平台审批状态
                 this.zfiPlatformStatus =  response.data.financeInf.zfiPlatformStatus;
                 //核心审批状态
                 this.zfiCoreStatus = response.data.financeInf.zfiCoreStatus;
                //意愿类型
                this.zfpAuthType = response.data.zfpAuthType;
                this.zfpAuthTypeInit = response.data.zfpAuthType;

                //核心开立
                if(response.data.financeInf.zfiCreateType == '1'){
                      this.tableTitle = "应付账款";
                }else{
                      this.tableTitle = "应收账款";
                      //融资开立
                     if(response.data.financeInf.zfiCreateType == '2'){
                          //收款账号
                          //非电子
                          if(response.data.proComRel.zfpcrLoanType != '0'){
                            this.isShow = true;
                          }
                     }
                }

               //接收方
                this.form.receiveName = response.data.receiveName;
                //授信额度
                this.form.zfpName = response.data.zfpName;
                //开立方
                this.form.openName = response.data.openName;
                //创建人
                this.form.createName = response.data.createName;
                //签发金额大写
                this.issuedAmount = this.smallToBig(this.form.zfiAmount);
             }
             if(response.data.payList){
                 this.payList = response.data.payList.records;
                 this.getReTotal(this.payList);
                 //附件
                 this.getFile(this.payList);
             }
             this.getCreditSealFile();
        })
    },
    methods: {

        // 取消按钮
        cancel() {
            this.$store.dispatch("tagsView/delView", this.$route);
            this.$router.go(-1);
        },
         /* 多选框跨页 */
        rowkeyCustomer(row) {
            return row.cciId;
        },
        //重新合计
        getReTotal(chooseTicket){
                 //合计
                this.checkTotalAmt = "0.00";
                for(var i = 0; i < chooseTicket.length;i++){
                        this.checkTotalAmt  = accAdd(this.checkTotalAmt,chooseTicket[i].zbiAmount,2);
                }
                this.checkTotalBigAmt = this.smallToBig(this.checkTotalAmt);
                this.checkTotalAmt = this.amtFormat(this.checkTotalAmt);
    },
    //获取附件信息
    getFile(datas){
            var queryParamsFile = {};
            queryParamsFile.ticketList = datas;
            getFile(queryParamsFile).then((response) => {
                if(response.data){
                    //获取发票文件
                     this.invoiceFileList = response.data.invoiceFileList;
                    //获取合同文件
                     this.contractFileList = response.data.contractFileList;
                    //获取其他文件
                    this.otherFileList = response.data.otherFileList;
                }
            });
        },
    //格式化金额
    amtFormat(cellValue) {
      if(cellValue == null || cellValue== undefined || cellValue == ''){
      cellValue = '0.00'
      }
      cellValue += '';
            if (!cellValue.includes('.')) {
      cellValue += '.00';
      }
      return cellValue.replace(/(\d)(?=(\d{3})+\.)/g, function ($0, $1) {
        return $1 + ',';
      }).replace(/\.$/, '');
    },
     /* //  将数字金额转换为大写金额 */
    smallToBig(money) {
      //  将数字金额转换为大写金额
      var cnNums = new Array(
        "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" ); //汉字的数字
      var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
      var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
      var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
      var cnInteger = "整"; //整数金额时后面跟的字符
      var cnIntLast = "元"; //整数完以后的单位
      //最大处理的数字
      var maxNum = 999999999999999.9999;
      var integerNum; //金额整数部分
      var decimalNum; //金额小数部分
      //输出的中文金额字符串
      var chineseStr = "";
      var parts; //分离金额后用的数组，预定义
      if (money == "" || money == null || money == undefined) {
        return "零元零角零分";
      }
      money = parseFloat(money);
      if (money >= maxNum) {
        //超出最大处理数字
        return "超出最大处理数字";
      }
      if (money == 0) {
        chineseStr = cnNums[0] + cnIntLast + cnInteger;
        return chineseStr;
      }
      //四舍五入保留两位小数,转换为字符串
      money = Math.round(money * 100).toString();
      integerNum = money.substr(0, money.length - 2);
      decimalNum = money.substr(money.length - 2);
      //获取整型部分转换
      if (parseInt(integerNum, 10) > 0) {
        var zeroCount = 0;
        var IntLen = integerNum.length;
        for (var i = 0; i < IntLen; i++) {
          var n = integerNum.substr(i, 1);
          var p = IntLen - i - 1;
          var q = p / 4;
          var m = p % 4;
          if (n == "0") {
            zeroCount++;
          } else {
            if (zeroCount > 0) {
              chineseStr += cnNums[0];
            }
            //归零
            zeroCount = 0;
            chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
          }
          if (m == 0 && zeroCount < 4) {
            chineseStr += cnIntUnits[q];
          }
        }
        chineseStr += cnIntLast;
      }
      //小数部分
      if (decimalNum != "") {
        var decLen = decimalNum.length;
        for (var i = 0; i < decLen; i++) {
          var n = decimalNum.substr(i, 1);
          if (n != "0") {
            chineseStr += cnNums[Number(n)] + cnDecUnits[i];
          }
        }
      }
      if (chineseStr == "") {
        chineseStr += cnNums[0] + cnIntLast + cnInteger;
      } else if (decimalNum == "" || /^0*$/.test(decimalNum)) {
        chineseStr += cnInteger;
      }
      return chineseStr;
    },
     //取消选择意愿
    cancelUpdate(){
        this.confirmIsShow = false;
        this.resetUpdate();
    },
    //关闭短信
    cancelMessage(){
        this.messageIsShow = false;
        this.resetMessage();
    },
    //关闭短信
    cancelProject(){
        this.projectIsShow = false;
        this.resetProject();
    },
    //关闭二维码
    cancelFace(){
        this.faceIsShow = false;
    },
    resetUpdate() {
        this.updateForm = {
            radio:""
        };
        //意愿类型还原为全部
        this.zfpAuthType = this.zfpAuthTypeInit;
        this.resetForm("updateForm");

        this.messShow = true;
        clearInterval(this.auth_timer);
        this.timer = 60;

        this.proShow = true;
        clearInterval(this.auth_pro_timer);
        this.proTimer = 60;
    },
    resetMessage() {
        this.messageForm = {
            validCode:""
        };
        this.resetForm("messageForm");
    },
    resetProject(){
         this.projectForm = {
            code:""
        };
        this.resetForm("projectForm");
    },
     //获取合同文件
    getContractFile(){
        const loading = this.$loading({
                    lock: true,
                    text: 'Loading',
                    background: 'rgba(0, 0, 0,0)'
                });
         getContractFile(this.form).then((response) => {
                loading.close();
                if(response.data.list){
                    this.pdfFileList = response.data.list;
                }
                 //文件存在
                if(this.pdfFileList.length > 0 ){
                    this.pdfShowDialog = true;

                }else{
                      this.$message({
                        message: '文件不存在！',
                        type: 'warning'
                      });
                }
            }).catch((response)=>{
                        loading.close();
            });
    },
    //选择类型
    selectType(){
        //查询当前企业是否存在企业授权编号
        cfcaProjectNo().then((response) => {
            //存在授权编号
            if(response.data.scyCfcaAuthNumber){
                 /**
                 * 申请确权：融资审批通过+核心通过+平台通过+融信待确权||
                 * 核心开立:核心审批通过+其余状态为空
                 * 融资开立:融资通过+平台通过+其余状态为空
                 * 
                 */
                this.resetUpdate();
                //调用人脸
                if( (this.zfiSupplierStatus == '01' && this.zfiCoreStatus == '01' && this.zfiPlatformStatus == '01' && this.zfiStatus == '00') ||
                    (this.zfiCoreStatus == '01' && (this.zfiSupplierStatus == '' || this.zfiSupplierStatus == null || this.zfiSupplierStatus == 'null') && (this.zfiPlatformStatus == '' || this.zfiPlatformStatus == null || this.zfiPlatformStatus == 'null') && (this.zfiStatus == '' || this.zfiStatus == null || this.zfiStatus == 'null'))||
                    (this.zfiSupplierStatus == '01' && this.zfiPlatformStatus == '01' && (this.zfiCoreStatus == '' || this.zfiCoreStatus == null || this.zfiCoreStatus == 'null') && (this.zfiStatus == '' || this.zfiStatus == null || this.zfiStatus == 'null'))){
                    //选择签署意愿
                    if(this.zfpAuthType == "00"){
                            this.confirmIsShow = true;
                        }else{
                            this.checking();
                        }

                }else{
                    //直接盖章
                    this.contractSigning();     
                }
            }else{
               //不存在授权编号
               //发送短信验证码认证
                this.projectIsShow = true;

            }
        });
       
    },
    //文件下载
    handleDownload(row){
        const pfiUrl = row.pfiUrl;
        if(pfiUrl != null && pfiUrl != ''){
        window.open(pfiUrl +"/"+ getToken());
        }else{
            this.$message({
            message: '该附件不存在！',
            type: 'warning'
            });
            return;
        }
    },
    //确认选择
    confirmSelect(){
            if(!this.updateForm.radio){
                this.$message({
                    message: '请选择签署意愿类型',
                    type: 'warning'
                });
                return;
            }

            this.confirmIsShow = false;
            this.zfpAuthType = this.updateForm.radio;
            //调用人脸识别或者短信验证
            this.checking();
    },
    //去签署
    checking(){
        //人脸
        if(this.zfpAuthType == '01'){
          //调用人脸识别生成二维码
          faceAuth().then((response) => {
                if(response.data){
                    //获取二维码
                    this.fileUrl = response.data.fileUrl;
                    //获取源流水号
                    var originalTxSN = response.data.originalTxSN;
                    this.faceIsShow = true;
                    //每5秒查证人脸识别结果
                    var timeInterval = window.setInterval(() => {
                            setTimeout(() => {
                               //源流水不为空并且结果为空
                               if(originalTxSN && !this.faceResult){
                                    this.authForm.originalTxSN = originalTxSN;
                                    //调用查证方法
                                    checkFaceAuth(this.authForm).then((res) => {
                                        //认证结果
                                        this.faceResult = res.data.Verification;
                                        //成功
                                        if(this.faceResult == '20'){
                                            this.msgSuccess("验证成功");
                                            //关闭验证码
                                            this.faceIsShow = false;
                                            //关闭定时
                                            window.clearInterval(timeInterval);
                                            //调用盖章
                                            this.contractSigning();
                                        }else if(this.faceResult == '30'){
                                            this.$message({
                                                message: "验证失败",
                                                type: 'warning'
                                            });
                                            //关闭验证码
                                            this.faceIsShow = false;
                                            window.clearInterval(timeInterval);
                                        }
                                    });
                               }
                            }, 0)
                         },10000)
                }
            });

        }else if(this.zfpAuthType == '02'){//短信
            this.messageIsShow = true;
        }

    },
    //发送短信验证码
    send(){

            //发送
            sendMessage().then((response) => {
                if(response.data){
                    //手机号
                    var newIphone = response.data.newIphone;
                    //结果
                    var result = response.data.result;
                    this.messShow = false;
                    this.auth_timer = window.setInterval(() => {
                        this.messShow = false;
                        setTimeout(() => {
                                this.timer--;
                                if(this.timer <= 0 ){
                                    this.messShow = true;
                                    clearInterval(this.auth_timer);
                                }
                            }, 0)
                        },1000)
                    //成功
                    if("20" == result){
                        this.$message({
                            message: "已向经办人手机号为"+newIphone+"发送短信验证码,请注意查收",
                            type: 'warning'
                        });
                    }else if("10" == result){//失败
                        this.$message({
                            message: "短信发送失败",
                            type: 'warning'
                        });
                    }

                }
            });

    },

    //生成项目授权编号发送短信
    proSend(){
        //发送
        projectSendMessage().then((response) => {
            if(response.data){
                //手机号
                var newIphone = response.data.newIphone;
                //结果
                var result = response.data.result;
                //项目编号
                this.projectCode = response.data.projectCode;
                this.proShow = false;
                this.auth_pro_timer = window.setInterval(() => {
                    this.proShow = false;
                    setTimeout(() => {
                            this.timer--;
                            if(this.timer <= 0 ){
                                this.proShow = true;
                                clearInterval(this.auth_pro_timer);
                            }
                        }, 0)
                    },1000)
                //成功
                if("60000000" == result){
                    this.$message({
                        message: "已向经办人手机号为"+newIphone+"发送短信验证码,请注意查收",
                        type: 'warning'
                    });
                }else{//失败
                    this.$message({
                        message: "短信发送失败",
                        type: 'warning'
                    });
                }

            }
        });
    },
    //校验验证码是否正确
    checkCode(){
            if(!this.messageForm.validCode){
                     this.$message({
                        message: "请输入验证码",
                        type: 'warning'
                    });
                    return;
            }
            //校验验证码
            checkCode(this.messageForm).then((response) => {
                if(response.data){
                    //结果
                    var verification = response.data.verification;
                    //匹配
                    if("20" == verification){
                        //进行下一步-- 盖章
                         this.contractSigning();
                    }else if("30" == verification){//不匹配
                         this.$message({
                            message: "验证有误,请重新输入",
                            type: 'warning'
                        });
                    }

                }
        });
    },
    //盖章
    contractSigning(){
            const loading = this.$loading({
                        lock: true,
                        text: 'Loading',
                        background: 'rgba(0, 0, 0,0)'
                    });
            contractSigning(this.form).then((response) => {
                loading.close();
                this.msgSuccess("盖章成功");
                if(this.zfpAuthType == '02'){
                    //关闭短信验证
                    this.messageIsShow = false;
                }else if(this.zfpAuthType == '01'){
                    //关闭人脸二维码
                    this.faceIsShow = false;
                }
                this.$store.dispatch(
                    "tagsView/delView",
                    this.$route
                );
                this.$router.go(-1);
            }).catch((response) => {
                loading.close();
            });
    },
    //预览
    handlePreview(row) {
        const pfiUrl = row.pfiUrl;
        const pfiFileName = row.pfiFileName;
        if (row.pfiUrl) {
            console.log(pfiFileName.substr(-3));
            if (pfiFileName.substr(-3) == "pdf") {
                this.wordUrl = pfiUrl + "/" + getToken();
                this.show=false;
                this.heid=true;
            } else if (
                pfiFileName.substr(-3) == "jpg" ||
                pfiFileName.substr(-3) == "png" ||
                pfiFileName.substr(-3) == "JPG" ||
                pfiFileName.substr(-3) == "PNG" ||
                pfiFileName.substr(-4) == "jpeg" ||
                pfiFileName.substr(-3) == "JPEG"
            ) {
                this.wordUrl =
                    pfiUrl +
                    "/" +
                    getToken();
                    this.show=true;
                    this.heid=false;
                        console.log("====>",this.wordUrl);
            } else if (
                pfiFileName.substr(-3) == "doc" ||
                pfiFileName.substr(-3) == "DOC"||
                pfiFileName.substr(-4) == "docx" ||
                pfiFileName.substr(-3) == "DOCX"
            ) {
                this.wordUrl =
                    "https://view.officeapps.live.com/op/view.aspx?src=" +
                    pfiUrl +
                    "/" +
                    getToken() +
                    "/" +
                    pfiFileName;
                    this.show=false;
                    this.heid=true;
                    console.log("====>",this.wordUrl);
            } else {
                this.$message({
                    message: "暂不支持该类型文件预览",
                    type: "warning",
                });
                return;
            }
        }
        this.openFile = true;
    },
    //盖章拒签
    refuse(){
           this.$refs["form"].validate(valid => {
            if (valid) {
               const loading = this.$loading({
                        lock: true,
                        text: 'Loading',
                        background: 'rgba(0, 0, 0,0)'
                    });
                    sealRefuse(this.form).then(response => {
                        loading.close();
                        this.msgSuccess("拒签成功");
                        this.$store.dispatch("tagsView/delView", this.$route);
                        this.$router.go(-1);
                    }).catch((response)=>{
                        loading.close();
                    });
            }
        });
    },
    //获取盖章文件
    getCreditSealFile(){
        getCreditSealFile(this.form).then((response) => {
                if(response.data.list){
                    this.creditSealList = response.data.list;
                }
            });
    },
    //校验授权编号验证码
    checkProCode(){
            if(!this.projectForm.code){
                     this.$message({
                        message: "请输入验证码",
                        type: 'warning'
                    });
                    return;
            }
            //项目编号
            this.projectForm.projectCode = this.projectCode;
            //校验验证码
            checkProCode(this.projectForm).then((response) => {
                if(response.data){
                    //结果
                    var verification = response.data.verification;
                    //匹配
                    if("60000000" == verification){
                        /**
                         * 申请确权：融资审批通过+核心通过+平台通过+融信待确权||
                         * 核心开立:核心审批通过+其余状态为空
                         * 融资开立:融资通过+平台通过+其余状态为空
                         * 
                         */
                        this.resetUpdate();
                        //调用人脸
                        if( (this.zfiSupplierStatus == '01' && this.zfiCoreStatus == '01' && this.zfiPlatformStatus == '01' && this.zfiStatus == '00') ||
                            (this.zfiCoreStatus == '01' && (this.zfiSupplierStatus == '' || this.zfiSupplierStatus == null || this.zfiSupplierStatus == 'null') && (this.zfiPlatformStatus == '' || this.zfiPlatformStatus == null || this.zfiPlatformStatus == 'null') && (this.zfiStatus == '' || this.zfiStatus == null || this.zfiStatus == 'null'))||
                            (this.zfiSupplierStatus == '01' && this.zfiPlatformStatus == '01' && (this.zfiCoreStatus == '' || this.zfiCoreStatus == null || this.zfiCoreStatus == 'null') && (this.zfiStatus == '' || this.zfiStatus == null || this.zfiStatus == 'null'))){
                            //选择签署意愿
                            if(this.zfpAuthType == "00"){
                                    this.confirmIsShow = true;
                                }else{
                                    this.checking();
                                }

                        }else{
                            //直接盖章
                            this.contractSigning();     
                        }
                    }else {//不匹配
                         this.$message({
                            message: "验证有误,请重新输入",
                            type: 'warning'
                        });
                    }

                }
        });
    }
    
    }
};
</script>

<style lang="scss">

.uoloadfj .el-upload--picture-card{
  width:110px;
  height:110px;
  line-height:110px;
}
.fjUoloadSty .el-upload--picture-card{
  display:none;
}

table th.star div::before {
    content: '*';
    color: red;
}

</style>
