<template> <div class="eibs-tab"> <br style="margin-top: 20px"/> <c-row :gutter="80" v-if="showSelect('cfaeca')"> <c-col :span="8"> <el-form-item label="外汇贷款" :rules="[{ required: cfaecaVisflg, message: '必输项', trigger: ['blur', 'change']}]" prop="cfabop.cfaeca.cfaflg"> <c-select :disabled="!cfaecaVisflg" dbCode="cfaflg" :filterKey="filterCfaflg('eca')" @change="onCfaflgeca" placeholder="请选择数据采集标志" style="width: 100%" v-model="model.cfaeca.cfaflg"> </c-select> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" prop="cfabop.cfaeca.basflg"> <c-checkbox true-label="X" :disabled="true" v-model="model.cfaeca.basflg">签约信息</c-checkbox> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" label="" prop="cfabop.cfaeca.dclflg"> <c-checkbox true-label="X" :disabled="true" v-model="model.cfaeca.dclflg">变动信息</c-checkbox> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeca')"> <c-col :span="8"> <el-form-item label="地区机构号" prop="cfabop.cfaeca.ownextkey"> <c-select :disabled="model.cfaeca.cfaflg !='1' " placeholder="请选择地区机构号" v-model="model.cfaeca.ownextkey"> <el-option :key="item.inr" :label="item.branch + ' ' + item.bchname" :value="item.branch" v-for="item in ownExtkeyList"></el-option> </c-select> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" label="" prop="cfabop.cfaeca.cdaflg"> <c-checkbox true-label="X" :disabled="!cfaecaVisflg || !disableCda" @change="onCfaflgcda" v-model="model.cfaeca.cdaflg">外保内贷</c-checkbox> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaead')"> <c-col :span="8"> <el-form-item label="海外代付" :rules="[{ required: cfaeadVisflg, message: '必输项', trigger: ['blur', 'change']}]" prop="cfabop.cfaead.cfaflg"> <c-select :disabled="!cfaeadVisflg" dbCode="cfaflg" :filterKey="filterCfaflg('ead')" @change="onCfaflgead" placeholder="请选择数据采集标志" v-model="model.cfaead.cfaflg"> </c-select> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" prop="cfabop.cfaead.basflg"> <c-checkbox true-label="X" :disabled="true" v-model="model.cfaead.basflg">签约信息</c-checkbox> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" prop="cfabop.cfaead.dclflg"> <c-checkbox true-label="X" :disabled="true" v-model="model.cfaead.dclflg">变动信息</c-checkbox> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaead')"> <c-col :span="8"> <el-form-item :rules="[{required:model.cfaead.cfaflg==='1',message:'必填项',trigger:'change'}]" label="地区机构号" prop="cfabop.cfaead.ownextkey"> <c-select :disabled="model.cfaead.cfaflg !='1' " placeholder="请选择地区机构号" v-model="model.cfaead.ownextkey"> <el-option :key="item.inr" :label="item.branch + ' ' + item.bchname" :value="item.branch" v-for="item in ownExtkeyList"></el-option> </c-select> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeaf')"> <c-col :span="8"> <el-form-item label="远期信用证" :rules="[{ required: cfaeafVisflg, message: '必输项', trigger: ['blur', 'change']}]" prop="cfabop.cfaeaf.cfaflg"> <c-select :disabled="!cfaeafVisflg" dbCode="cfaflg" :filterKey="filterCfaflg('eaf')" @change="onCfaflgeaf" placeholder="请选择数据采集标志" v-model="model.cfaeaf.cfaflg"></c-select> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" prop="cfabop.cfaeaf.basflg"> <c-checkbox true-label="X" :disabled="true" v-model="model.cfaeaf.basflg">签约信息</c-checkbox> </el-form-item> </c-col> <c-col :span="4"> <el-form-item class="checkbox-left" prop="cfabop.cfaeaf.dclflg"> <c-checkbox true-label="X" :disabled="true" v-model="model.cfaeaf.dclflg">变动信息</c-checkbox> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeaf')"> <c-col :span="8"> <el-form-item :rules="[{required:model.cfaeaf.cfaflg==='1',message:'必填项',trigger:'change'}]" label="地区机构号" prop="cfabop.cfaeaf.ownextkey"> <c-select :disabled="model.cfaeaf.cfaflg !='1'" placeholder="请选择地区机构号" v-model="model.cfaeaf.ownextkey"> <el-option :key="item.inr" :label="item.branch + ' ' + item.bchname" :value="item.branch" v-for="item in ownExtkeyList"></el-option> </c-select> </el-form-item> </c-col> <c-col :span="8" v-if="this.root.trnName.slice(0,6) === 'brtudp'"> <el-form-item :rules="[{required:model.cfaeaf.cfaflg==='4',message:'必填项',trigger:'change'}]" label="不报送原因" prop="cfabop.cfaeaf.cfabrttxt"> <c-select :disabled="model.cfaeaf.cfaflg !='4'" :allow-create="true" :filterable="true" placeholder="请选择不申报原因" v-model="model.cfaeaf.cfabrttxt"> <el-option :key="item.code" :label="item.label" :value="item.label" v-for="item in brttxtcode"></el-option> </c-select> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeca')"> <c-col :span="8"> <el-form-item label="资金用途" prop="cfabop.cfaeca.cda.useofunds"> <c-select :disabled="model.cfaeca.cdaflg!=='X'" dbCode="dofuse" placeholder="请选择资金用途" v-model="model.cfaeca.cda.useofunds"> </c-select> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeca')"> <c-col :span="12"> <el-form-item label="中资企业境外担保项下境内贷款额度币种" label-width="300px" prop="cfabop.cfaeca.cda.cfeogudcurr"> <c-select :disabled="model.cfaeca.cdaflg!=='X'" dbCode="curtxt" placeholder="请选择中资企业境外担保项下境内贷款额度币种" sort="SRT" style="width:100%" v-model="model.cfaeca.cda.cfeogudcurr"></c-select> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeca')"> <c-col :span="12"> <el-form-item label="中资企业境外担保项下境内贷款额度金额" label-width="300px" prop="cfabop.cfaeca.cda.cfeogudamount"> <c-input-currency :disabled="model.cfaeca.cdaflg!=='X'" placeholder="请选择中资企业境外担保项下境内贷款额度金额" v-model="model.cfaeca.cda.cfeogudamount"></c-input-currency> </el-form-item> </c-col> </c-row> <c-row :gutter="80" v-if="showSelect('cfaeca')"> <c-col :span="12"> <el-form-item label="中资企业境外担保项下贷款业务批准文件号" label-width="300px" prop="cfabop.cfaeca.cda.cfeogudad"> <c-input :disabled="model.cfaeca.cdaflg!=='X'" maxlength="128" placeholder="请输入" show-word-limit type="textarea" v-model="model.cfaeca.cda.cfeogudad"></c-input> </el-form-item> </c-col> </c-row> </div> </template> <script> import event from "../event"; import Cfaeca from "../../cfaeca/model"; import Cfaead from "../../cfaead/model"; import Cfaeaf from "../../cfaeaf/model"; import commonDepend from "~/mixin/commonDepend"; export default { inject: ["root"], mixins: [event,commonDepend], components: {}, props: ["model", "codes"], watch: { //试算国内外汇贷款 "model.cfaeca.cfaflg"(newVal) { //快照模式不触发试算 if (this.isInDisplay) { return } if (newVal === "1" || newVal === "2" || newVal === "3") { let buildCfabop = this.root.buildCommonData( this.root.model, this.root.trnName ); this.initCfabop(buildCfabop); } //不再清空模型,不好控制, 前手报送数据的 sta 需要用于试算逻辑判断 // else if (newVal === "4") { //this.$set(this.root.model.cfabop, "cfaeca", new Cfaeca().data); //this.root.model.cfabop.cfaeca.cfaflg = "4"; //本来打算只清空 modifyset标记,但是没意义,有些栏位后端不会赋值,只有前端录入,如果不清空第二次报送还是会存在 // let basModify = this.root.model.cfabop.cfaeca.recgrp.bas.modifySet; // if(basModify){ // this.root.model.cfabop.cfaeca.recgrp.bas.modifySet = []; // } // this.root.model.cfabop.cfaeca.recgrp.dcl = this.root.model.cfabop.cfaeca.recgrp.dcl.map(item =>{ // if(item.modifySet){ // item.modifySet = []; // } // return item; // }); // } //空值不能清空模型,因为可能是初始化带入的 // else { // this.$set(this.root.model.cfabop, "cfaeca", new Cfaeca().data); // } }, //试算海外代付 "model.cfaead.cfaflg"(newVal) { //快照模式不触发试算 if (this.isInDisplay) { return } if (newVal === "1" || newVal === "2" || newVal === "3") { let buildCfabop = this.root.buildCommonData( this.root.model, this.root.trnName ); this.initCfabop(buildCfabop); } }, //试算远期信用证 "model.cfaeaf.cfaflg"(newVal) { //快照模式不触发试算 if (this.isInDisplay) { return } if (newVal === "1" || newVal === "2" || newVal === "3") { let buildCfabop = this.root.buildCommonData( this.root.model, this.root.trnName ); this.initCfabop(buildCfabop); } }, //采集标志访问控制 不满足报送条件时 灰色显示并清空数据 cfaecaVisflg(newVal, oldVal) { if (!newVal) { this.$set(this.root.model.cfabop, "cfaeca", new Cfaeca().data); this.root.model.cfabop.cfaeca.cfaflg = '4'; } }, cfaeadVisflg(newVal, oldVal) { if (!newVal) { this.$set(this.root.model.cfabop, "cfaead", new Cfaead().data); this.root.model.cfabop.cfaead.cfaflg = '4'; } }, cfaeafVisflg(newVal, oldVal) { if (!newVal) { this.$set(this.root.model.cfabop, "cfaeaf", new Cfaeaf().data); this.root.model.cfabop.cfaeaf.cfaflg = '4'; } }, //代付还款自动设置为变动 cfaeadDfaultTyp(newVal, oldVal) { if (newVal) { this.root.model.cfabop.cfaead.cfaflg = '3'; this.onCfaflgead('3'); } }, }, data() { return { cfaControl: false, ownExtkeyList: [], cfaConfig: { cfaeca: ["bptopn","bptame","bptset","botset","betset","trtopn","trtame","trtset","brtset","bctset","cptopn","cptato"], cfaead: ["trtopn","brtset","bctset","cptopn","cptato","dftame","dftset","bptopn"], cfaeaf: ["brtudp", "brteus", "brtset"] }, cfaoprConfig: { ecaA: ["TRTOPN", "BRTSET", "BCTSET", "CPTOPN", "CPTATO", "BPTOPN"], ecaM: ["TRTAME", "BPTAME"], ecaS: ["TRTSET", "BPTSET", "BOTSET", "BETSET"], eadA: ["DFTOPN", "TRTOPN", "BRTSET", "BCTSET", "CPTOPN", "CPTATO", "BPTOPN"], eadM: ["DFTAME"], eadS: ["DFTSET"], eafA: ["BRTUDP"], eafM: ["BRTEUS"], eafS: ["BRTSET"] }, brttxtcode: [ {code:"转开国内信用证",label:"转开国内信用证"}, {code:"他行代开信用证",label:"他行代开信用证"}, //{code:"开至特殊监管区",label:"开至特殊监管区"}, //{code:"境内居民客户信用证",label:"境内居民客户信用证"}, {code:"开至特殊监管区境内居民客户信用证",label:"开至特殊监管区境内居民客户信用证"}, {code:"其他",label:"其他"}, ], }; }, mounted() { //初始化机构列表 todo 待设置客户所属机构 this.getOwnExtkeyCondition(); }, computed: { //国内外汇贷款采集标志访问控制 cfaecaVisflg() { let visflg = false; let transname = this.root.trnName.slice(0,6); if (transname == null || transname == "") { return visflg; } switch (transname.toUpperCase()) { //买方融资 case "TRTOPN": if (this.root.model.trdgrp.cbs.max.cur !='' && this.root.model.trdgrp.cbs.max.cur !=null && this.root.model.trdgrp.cbs.max.cur != "CNY") { visflg = true; } else { visflg = false; } break; case "TRTAME": case "TRTSET": let ecasta = this.root.model.cfabop.cfaeca.recgrp.bas.sta; if (ecasta == "G" || ecasta == "D") { visflg = false; } else { let eblinr1 = this.root.model.cfabop.cfaeca.eblmod.wrkebl.inr; if (eblinr1 != null && eblinr1 != "") { visflg = true; } else { visflg = false; } } break; case "BRTSET": case "BCTSET": case "CPTOPN": case "CPTATO": let crefinflg = this.root.model.trtcre.crefinflg; if (crefinflg != null && crefinflg != "") { let amt1 = this.root.model.trtcre.trdgrp.cbs.max.amt; let cur1 = this.root.model.trtcre.trdgrp.cbs.max.cur; if (amt1 > 0 && cur1 != "CNY" && cur1 != "" && cur1 != null) { visflg = true; } } break; //卖方融资 case "BPTOPN": if (this.root.model.bpdgrp.cbs.max.cur != "CNY" && this.root.model.bpdgrp.cbs.max.cur != "" && this.root.model.bpdgrp.cbs.max.cur != null) { visflg = true; } else { visflg = false; } break; case "BPTAME": case "BPTSET": let eblinr2 = this.root.model.cfabop.cfaeca.eblmod.wrkebl.inr; let amt2 = this.root.model.bpdgrp.cbs.max.amt; let cur2 = this.root.model.bpdgrp.cbs.max.cur; if (eblinr2 != null && eblinr2 != "" && amt2 > 0 && cur2 != "CNY" && cur2 != "" && cur2 != null) { visflg = true; } else { visflg = false; } break; case "BOTSET": case "BETSET": let eblinr3 = this.root.model.cfabop.cfaeca.eblmod.wrkebl.inr; let amt3 = this.root.model.bptbck.wrkbpdgrp.cbs.max.amt; let cur3 = this.root.model.bptbck.wrkbpdgrp.cbs.max.cur; if (eblinr3 != null && eblinr3 != "" && amt3 > 0 && cur3 != "CNY" && cur3 != "" && cur3 != null) { visflg = true; } else { visflg = false; } break; default: visflg = false; } return visflg; }, //海外代付采集标志访问控制 cfaeadVisflg() { let visflg = false; let transname = this.root.trnName.slice(0,6); if (transname == null || transname == "") { return visflg; } switch (transname.toUpperCase()) { case "TRTOPN": case "BPTOPN": case "BRTSET": case "BCTSET": case "CPTOPN": case "CPTATO": let dfflag = this.root.model.dftcre.dfflag; let dfuflg = this.root.model.dftcre.dfdgrp.rec.dfuflg; if (dfflag != null && dfflag != "" && dfuflg === '2') { visflg = true; } else { visflg = false; } break; case "DFTAME": case "DFTSET": let ecasta = this.root.model.cfabop.cfaead.recgrp.bas.sta; if (ecasta == "G" || ecasta == "D") { visflg = false; } else { let eblinr1 = this.root.model.cfabop.cfaead.eblmod.wrkebl.inr; if (eblinr1 != null && eblinr1 != "") { visflg = true; } else { visflg = false; } } break; default: visflg = false; } return visflg; }, //代付还款自动设置为 变动 cfaeadDfaultTyp(){ let typflg = false; let transname = this.root.trnName.slice(0,6); if (transname == null || transname == "") { return typflg; } switch (transname.toUpperCase()) { case "DFTSET": let ecasta = this.root.model.cfabop.cfaead.recgrp.bas.sta; if (ecasta == "G" || ecasta == "D") { typflg = false; } else { let eblinr1 = this.root.model.cfabop.cfaead.eblmod.wrkebl.inr; if (eblinr1 != null && eblinr1 != "") { typflg = true; } else { typflg = false; } } break; default: typflg = false; } return typflg; }, //远期信用证采集标志访问控制 cfaeafVisflg() { let visflg = false; let transname = this.root.trnName.slice(0,6); if (transname == null || transname == "") { return visflg; } switch (transname.toUpperCase()) { case "BRTUDP": visflg = true; break; case "BRTEUS": case "BRTSET": let ecasta = this.root.model.cfabop.cfaeaf.recgrp.bas.sta; if (ecasta == "G" || ecasta == "D") { visflg = false; } else { let eblinr1 = this.root.model.cfabop.cfaeaf.eblmod.wrkebl.inr; if (eblinr1 != null && eblinr1 != "") { visflg = true; } else { visflg = false; } } break; default: visflg = false; } return visflg; }, }, methods: { //控制报送品种界面显示 showSelect(select) { return this.cfaConfig[select].includes(this.root.trnName.slice(0,6).toLowerCase()); }, //控制采集标识选项 filterCfaflg(select) { let filterKey = []; let transname = this.root.trnName.slice(0,6); if (transname == null || transname == "") { return filterKey; } if (this.cfaoprConfig[select + "A"].includes(transname.toUpperCase())) { filterKey = ["1", "4"]; } else if ( this.cfaoprConfig[select + "M"].includes(transname.toUpperCase()) ) { filterKey = ["2", "4"]; } else if ( this.cfaoprConfig[select + "S"].includes(transname.toUpperCase()) ) { filterKey = ["3", "4"]; } return filterKey; }, //控制cda 灰显 disableCda(){ let visflg = true; //前手数据加载了则不能编辑 if(this.root.model.cfabop.cfaeca.cda.inr && this.root.model.cfabop.cfaeca.cda.inr != null && this.root.model.cfabop.cfaeca.cda.inr !=''){ visflg = false; } return visflg; } } }; </script> <style scoped> /deep/ .el-form-item__label { font-size: 14px; line-height: 36px; } /deep/ .el-checkbox__label { font-size: 14px; line-height: 36px; } </style>