<template> <div class="eibs-tab"> <c-col :span="24"> <c-col :span="12" style="padding-right: 20px"> <c-col :span="24"> <c-col :span="8"> <el-form-item :label="$t('financing.融资金额')" prop="bpdgrp.cbs.max.cur"> <c-select dbCode="curtxt" v-model="model.bpdgrp.cbs.max.cur" style="width:100%" placeholder="请选择融资金额" :disabled="this.model.bpdgrp.cbs.max.cur!=''" @change="getRecNam()"> </c-select> </el-form-item> </c-col> <c-col :span="16"> <el-form-item label-width="5px" prop="bpdgrp.cbs.max.amt"> <c-input-currency :currency="model.bpdgrp.cbs.max.cur" v-model="model.bpdgrp.cbs.max.amt" @change="getRecNam()"></c-input-currency> </el-form-item> </c-col> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.计息周期')" prop="finmod.intprd"> <c-select dbCode="intprd" v-model="model.finmod.intprd" style="width:100%" placeholder="Please input计息周期" @change="changeIntprd" :filterKey="['1', '2', '3', '4', '6', '7']"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.利率调整方式')" prop="finmod.ratchgtyp"> <c-select dbCode="RATCHG" v-model="model.finmod.ratchgtyp" style="width:100%" placeholder="请选择利率调整方式"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.创建日期')" prop="bpdgrp.rec.opndat"> <c-date-picker type="date" v-model="model.bpdgrp.rec.opndat" style="width:100%" placeholder="请选择创建日期"></c-date-picker> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.到期日')" prop="bpdgrp.rec.matdat"> <c-date-picker type="date" v-model="model.bpdgrp.rec.matdat" style="width:100%" placeholder="请选择到期日"></c-date-picker> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.基准利率')" prop="bpdgrp.rec.intrat"> <c-fullbox> <c-input-currency :disabled="true" :precision="6" v-model="model.bpdgrp.rec.intrat"></c-input-currency> <template slot="footer"> <el-button size="small" type="primary" @click="getIntrat"> Get </el-button> </template> </c-fullbox> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.基准利率规则')" prop="finmod.dinmod.jzllgz"> <c-select dbCode="jzllgz" v-model="model.finmod.dinmod.jzllgz" style="width:100%" placeholder="请选择基准利率规则"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.执行利率')" prop="bpdgrp.rec.tolrat"> <c-input-currency :precision="6" v-model="model.bpdgrp.rec.tolrat" placeholder="Please input执行利率"></c-input-currency> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.第一还款账号')" prop="finmod.act1"> <c-select v-model="model.finmod.act1" style="width:100%" placeholder="请选择第一还款账号"> <el-option v-for="item in codes.act1List" :key="item" :value="item" :label="item"> </el-option> </c-select> </el-form-item> </c-col> <c-col :span="24"> <c-col :span="8"> <el-form-item :label="$t('financing.预收息金额')" prop="bpdgrp.cbs.max.cur"> <c-select dbCode="curtxt" v-model="model.bpdgrp.cbs.max.cur" :disabled="this.model.finmod.intprd != '7'" style="width:100%" placeholder="请选择融资金额"> </c-select> </el-form-item> </c-col> <c-col :span="16"> <el-form-item label-width="5px" prop="finmod.intamt"> <c-fullbox> <c-input-currency :currency="model.bpdgrp.cbs.max.cur" v-model="model.finmod.intamt" :disabled="this.model.finmod.intprd != '7'" ></c-input-currency> <template slot="footer"> <el-button size="small" type="primary" @click="cal">{{ $t('components.计算') }}</el-button> </template> </c-fullbox> </el-form-item> </c-col> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.预扣息方式')" prop="finmod.inttyp"> <c-select dbCode="INTTYP" v-model="model.finmod.inttyp" :disabled="this.model.finmod.intprd != '7'" style="width:100%" placeholder="请选择预扣息方式"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.税率')" prop="finmod.shuilv"> <c-input-currency :disabled="true" :precision="4" v-model="model.finmod.shuilv" placeholder="Please input税率"></c-input-currency> </el-form-item> </c-col> <!-- <c-col :span="24"> <el-form-item :label="$t('financing.定价审批代码')" prop="finmod.dinjdm"> <c-fullbox> <c-input v-model="model.finmod.dinjdm" maxlength="20"></c-input> <template slot="footer"> <el-button size="small" type="primary"> Get </el-button> </template> </c-fullbox> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.市场LPR期限品种')" prop="bpdgrp.rec.lprtyp" :rules="[{ required: isRequiredLprtyp, validator: validatorBpdgrpRecLprtyp, trigger: ['blur', 'change'] }]"> <c-select dbCode="lprtyp" v-model="model.bpdgrp.rec.lprtyp" style="width:100%" placeholder="请选择市场LPR期限品种"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.审批流程发起标识')" prop="finmod.dinmod.rmbsbs"> <c-select dbCode="rmbsbs" v-model="model.finmod.dinmod.rmbsbs" style="width:100%" placeholder="Please input审批流程发起标识"> </c-select> </el-form-item> </c-col>--> <c-col :span="24"> <el-form-item :label="$t('financing.发票类型')" prop="bpdgrp.rec.invtyp"> <c-select dbCode="invtyp" v-model="model.bpdgrp.rec.invtyp" style="width:100%" placeholder="请选择发票类型"> </c-select> </el-form-item> </c-col> </c-col> <c-col :span="12" style="padding-left: 20px"> <c-col :span="24"> <el-form-item :label="$t('financing.借据号')" prop="bpdgrp.rec.fincod"> <c-input v-model="model.bpdgrp.rec.fincod" maxlength="17" placeholder="Please input借据号"></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.计息日期')" prop="finmod.intdat"> <c-date-picker type="date" v-model="model.finmod.intdat" style="width:100%"></c-date-picker> </el-form-item> </c-col> <c-col :span="24"> <el-form-item style="float: left;"> <c-checkbox v-model="model.finmod.wjdkfl">{{ $t('financing.到期主动扣收贷款本息') }}</c-checkbox> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.利率调整周期')" prop="finmod.ratchgprd"> <c-select dbCode="INTPRD" v-model="model.finmod.ratchgprd" style="width:100%" placeholder="请选择利率调整周期"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.月日数')" prop="finmod.ratchgdat"> <c-input v-model="model.finmod.ratchgdat" maxlength="4" placeholder="Please input月日数"></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.融资天数')" prop="bpdgrp.rec.intday"> <c-input disabled v-model.number="defaultIntday" maxlength="10" style="width: 100%" placeholder="Please input融资天数"></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.宽限期')" prop="finmod.graday"> <div style="width:100%;display:inline-block"> <c-col :span="22"> <c-input style="width: 100%" v-model="model.finmod.graday"></c-input> </c-col> <c-col :span="2" style="padding-left:5px" v-if="model.finmod.flttyp == '2'"> <span>%</span> </c-col> </div> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.浮动方式')" prop="finmod.flttyp"> <c-select dbCode="flttyp" v-model="model.finmod.flttyp" style="width:100%" @change="changeFlttyp" placeholder="请选择浮动方式"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.浮动值')" prop="finmod.fltval"> <div style="width:100%;display:inline-block"> <c-col :span="22"> <c-input-currency :disabled="fltvalDis" :precision="7" v-model="model.finmod.fltval" placeholder="Please input浮动值"></c-input-currency> </c-col> <c-col :span="2" style="padding-left:5px"> <span>%</span> </c-col> </div> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.逾期计息方式')" prop="finmod.ovdinttyp"> <c-select dbCode="OVDINT" v-model="model.finmod.ovdinttyp" style="width:100%" placeholder="请选择逾期计息方式"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.罚息比率')" prop="finmod.ovdintrat"> <c-input-currency :precision="5" v-model="model.finmod.ovdintrat" placeholder="罚息比率"></c-input-currency> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.第三方还款方式')" prop="finmod.acttyp"> <c-select dbCode="TYPACT" v-model="model.finmod.acttyp" style="width:100%" placeholder="Please input第三方还款方式"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.第三方还款账号')" prop="finmod.act3"> <c-select dbCode="act3" v-model="model.finmod.act3" style="width:100%" placeholder="请选择第三方还款账号"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.预扣息账号')" prop="finmod.intact"> <c-select dbCode="intact" v-model="model.finmod.intact" :disabled="this.model.finmod.intprd != '7'" style="width:100%" placeholder="请选择预扣息账号"> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item :label="$t('financing.贸易合同号')" prop="bpdgrp.rec.mycontno"> <c-input v-model="model.bpdgrp.rec.mycontno" maxlength="35" placeholder="Please input贸易合同号"></c-input> </el-form-item> </c-col> </c-col> </c-col> </div> </template> <script> import event from "../event"; import Default from "../model/default"; import commonFunctions from "~/mixin/commonFunctions.js"; import commonDepend from "~/mixin/commonDepend.js"; import moment from 'moment'; export default { inject: ["root"], props: ["model", "codes"], mixins: [event, Default, commonFunctions, commonDepend], data() { return { fltvalDis: true, }; }, methods: { validatorBpdgrpRecLprtyp(rule, value, callback) { let jzllgz = this.model.finmod.dinmod.jzllgz; let cur = this.model.bpdgrp.cbs.max.cur; if (jzllgz == '1' && cur == 'CNY') { if (value == '' || value == null) { return callback(new Error(this.$t('financing.必输项'))); } } if (jzllgz !== '1' || cur !== 'CNY') { if (value !== '' && value !== null) { return callback(new Error(this.$t('financing.币种不是人民币或基准利率准则不是市场LPR基准时,该字段不能有值'))); } } callback(); } }, mounted() {}, computed: { isRequiredLprtyp() { let jzllgz = this.model.finmod.dinmod.jzllgz; let cur = this.model.bpdgrp.cbs.max.cur; return jzllgz == '1' && cur == 'CNY'; }, defaultIntday() { let opndat = this.model.bpdgrp.rec.opndat; let matdat = this.model.bpdgrp.rec.matdat; if (opndat == "" || opndat == null || matdat == "" || matdat == null) { this.model.bpdgrp.rec.intday = 0; return; } // 将字符串转换成 Moment.js 对象 const start = moment(opndat); const end = moment(matdat); // 计算天数差并输出结果 let diffInDays = end.diff(start, 'days'); this.model.bpdgrp.rec.intday = diffInDays return diffInDays; } }, watch: { "model.bpdgrp.cbs.max.cur": { immediate: true, handler(val, oldval) { if (this.$store.state.Status.mode === "display") { return; } this.onAccounts(); } }, "model.finmod.intprd": { handler(val, oldval) { this.changeIntprd(); } } }, created: function() {} }; </script> <style lang="less" scoped> .el-textarea .el-textarea__inner { height: 100px; } .page-wrap { width: 100%; height: 100%; position: absolute; left: 0; top: 0; padding: 2px; box-sizing: border-box; display: flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; border: 1px solid #707070; .form-content { width: 100%; flex: 1; position: relative; border: 1px solid #b1b1b1; overflow-y: auto; background-color: #fff; padding: 5px 0; } } .field { text-align: left; line-height: 32px; width: 40px; } .fieldName { /deep/ .el-form-item--small .el-form-item__label { width: 200px !important; justify-content: flex-start; } /deep/ .el-date-editor.el-input { width: 90%; } /deep/ .el-select { width: 90%; } } .over { /deep/ .el-form-item--small .el-form-item__label { text-align: left; } } </style>