<template>
    <div class="app-container">
        <el-form ref="form" :model="form"  disabled :rules="rules" :inline="true" style="margin-top: 20px" label-width="auto" >
            <el-divider content-position="left">融信详情</el-divider>
            <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>
                    </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>
                    </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>
                    </template>
                </el-table-column>
        </el-table>
        <div class="footer" style="float: right;
            margin-bottom:2px;">
            <el-button @click="cancel">取 消</el-button>
        </div>
  </div>
</template>
<script>
import {getCreditDetail,getFile} from "@/api/service/credit/credit";
import {accAdd} from "@/utils/calculation";
import {getToken} from "@/utils/auth";
export default {
    name: "addCredit",
    components: {},
    data() {
        return {
            // 总条数
            total: 0,
            // 表单参数
            form: {

            },
            // 表单校验
            rules: {
            },
            // 是否显示弹出层
            open: false,
           //应付账款
           payList:[],
           //签发金额大写
           issuedAmount:"零元整",
           //合计选中的应付账款的金额
           checkTotalAmt:"0.00",
           //合计选中的应付账款的大写金额
            checkTotalBigAmt:"零元整",
            //标题
            tableTitle:"",
            //控制收款账号是否显示
            isShow:false,
            //获取类型
            createType:'',
            //合同附件
            contractFileList:[],
            //发票附件
            invoiceFileList:[],
            //其他文件
            otherFileList:[]
        };
    },
    created() {
         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;
                //核心开立
                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);
             }
             
        })
    },
    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;
                }
            });
        },
            //文件下载
       handleDownload(row){
            const pfiUrl = row.pfiUrl;
            if(pfiUrl != null && pfiUrl != ''){
            window.open(pfiUrl +"/"+ getToken());
            }else{
                this.$message({
                message: '该附件不存在！',
                type: 'warning'
                });
                return;
            }
        },   
    //格式化金额 
    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;
    }
       
    }
};
</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>