conp.vue 14.5 KB
<template>
    <div class="eibs-tab">
         <!-- 第一行 -->
        <c-col :span="24">
            <c-col :span="12" style="padding-right: 20px">
                <c-col :span="24">
                    <el-form-item label="外债编号" prop="cfabop.cfaeaf.recgrp.bas.exdebtcode">
                        <c-input disabled maxlength="28" placeholder="请输入外债编号"
                                 v-model="model.recgrp.bas.exdebtcode"></c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="操作类型" prop="cfabop.cfaeaf.recgrp.bas.actiontype">
                        <c-select clearable dbCode="action" disabled
                                  placeholder="请输入操作类型"
                                  v-model="model.recgrp.bas.actiontype">
                        </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="删除原因" prop="cfabop.cfaeaf.recgrp.bas.actiondesc">
                        <c-input :disabled="disflgobj.actiondesc == 'X'" maxlength="128" placeholder="请输入删除原因" show-word-limit
                                 type="textarea" :rows="4"
                                 v-model="model.recgrp.bas.actiondesc"></c-input>
                    </el-form-item>
                </c-col>
            </c-col>
        </c-col>

        <c-col :span="24">
            <c-col :span="12" style="padding-right: 20px">
                <!-- 第二行开始  左侧列 -->
                <c-col :span="24">
                    <el-form-item label="债务类型" prop="cfabop.cfaeaf.recgrp.bas.debtype">
                        <c-select disabled placeholder="请输入债务类型" dbCode="DEBTYP"
                                  v-model="model.recgrp.bas.debtype">
                        </c-select>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="债务人代码" prop="cfabop.cfaeaf.recgrp.bas.debtorcode">
                        <c-input :disabled="disflgobj.debtorcode == 'X'" placeholder="请输入债务人代码" v-model="model.recgrp.bas.debtorcode"></c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="起息日" prop="cfabop.cfaeaf.recgrp.bas.valuedate">
                        <c-date-picker placeholder="请输入起息日" :disabled="disflgobj.valuedate == 'X'"
                                       type="date" v-model="model.recgrp.bas.valuedate">
                        </c-date-picker>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="到期日" prop="cfabop.cfaeaf.recgrp.bas.maturity">
                        <c-date-picker placeholder="请输入到期日" :disabled="disflgobj.maturity == 'X'"
                                       type="date" v-model="model.recgrp.bas.maturity">
                        </c-date-picker>
                    </el-form-item>
                </c-col>

                 <c-col :span="24">
                    <el-form-item label="签约币种" prop="cfabop.cfaeaf.recgrp.bas.contractcurr">
                        <c-select  dbCode="curtxt" placeholder="请输入签约币种" :disabled="disflgobj.contractcurr == 'X'"
                                  v-model="model.recgrp.bas.contractcurr" >
                        </c-select>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="签约金额" prop="cfabop.cfaeaf.recgrp.bas.contractamount">
                        <c-input-currency  placeholder="请输入签约金额" :disabled="disflgobj.contractamount == 'X'" :maxlength="23"
                             v-model="model.recgrp.bas.contractamount"></c-input-currency>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="相关业务类型" prop="cfabop.cfaeaf.recgrp.bas.credittype">
                        <c-select placeholder="请输入相关业务类型" dbCode="CFABUS"  :disabled="disflgobj.credittype == 'X'"
                                  v-model="model.recgrp.bas.credittype"></c-select>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="是否附有银行承兑汇票" prop="cfabop.cfaeaf.recgrp.bas.billsn">
                        <c-select placeholder="请输入是否附有银行承兑汇票"  :disabled="disflgobj.billsn == 'X'"
                        dbCode="CFAYES" v-model="model.recgrp.bas.billsn" isShowKeyAndLabel>
                        </c-select>
                    </el-form-item>
                </c-col>
                
                <c-col :span="24">
                    <el-form-item label="是否不纳入跨境融资风险加权余额计算" prop="cfabop.cfaeaf.recgrp.bas.spapfeboindex">
                        <c-select placeholder="请输入" dbCode="CFAYES" :disabled="disflgobj.spapfeboindex == 'X'"
                                  v-model="model.recgrp.bas.spapfeboindex" isShowKeyAndLabel>
                        </c-select>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="备注" prop="cfabop.cfaeaf.recgrp.bas.remark">
                        <c-input maxlength="248" placeholder="请输入备注" :disabled="disflgobj.remark == 'X'" 
                                 show-word-limit type="textarea" v-model="model.recgrp.bas.remark">
                        </c-input>
                    </el-form-item>
                </c-col>


            </c-col>

            <c-col :span="12" style="padding-left: 20px">
                <!-- 第二行开始  右侧列 -->
                <c-col :span="24">
                    <el-form-item label="债权人代码" prop="cfabop.cfaeaf.recgrp.bas.creditorcode">
                        <c-input placeholder="请输入债权人代码" :isShow="{ show: showflg, warning: warning }" :disabled="disflgobj.creditorcode == 'X'"
                                 v-model="model.recgrp.bas.creditorcode"></c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24" class="custom-box-wrap">
                   <div class="box-1">
                    <div style="width: 100%">
                    <el-form-item label="债权人类型代码" prop="cfabop.cfaeaf.recgrp.bas.creditortype">
                        <c-select placeholder="请输入债权人类型代码" dbCode="SBWTYP" @change="creditortypeChange" :disabled="disflgobj.creditortype == 'X'"
                                  v-model="model.recgrp.bas.creditortype" isShowKeyAndLabel>
                        </c-select>
                    </el-form-item>
                    </div>
                   </div>
                  <div class="box-2">
                      <c-checkbox
                        disabled
                        true-label=""
                        false-label="X"
                        class="checkbox-left"
                        >确认</c-checkbox
                      >
                  </div>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="债权人中文名称" prop="cfabop.cfaeaf.recgrp.bas.creditorname">
                        <c-input maxlength="90" placeholder="请输入债权人中文名称"  :disabled="disflgobj.creditorname == 'X'"
                                 v-model="model.recgrp.bas.creditorname"></c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="债权人英文名称" prop="cfabop.cfaeaf.recgrp.bas.creditornamen">
                        <c-input maxlength="90" placeholder="请输入债权人英文名称" :disabled="disflgobj.creditornamen == 'X'"
                                 v-model="model.recgrp.bas.creditornamen">
                        </c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="债权人总部所在国家(地区)代码" prop="cfabop.cfaeaf.recgrp.bas.crehqcode">
                        <c-business-cty maxlength="3" placeholder="请输入债权人总部所在国家(地区)代码" :disabled="disflgobj.crehqcode == 'X'"
                                 v-model="model.recgrp.bas.crehqcode"></c-business-cty>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="债权人经营地所在国家(地区)代码" prop="cfabop.cfaeaf.recgrp.bas.opercode">
                        <c-business-cty maxlength="3" placeholder="请输入债权人经营地所在国家(地区)代码" :disabled="disflgobj.opercode == 'X'"
                                 v-model="model.recgrp.bas.opercode">
                        </c-business-cty>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="开证申请人代码" prop="cfabop.cfaeaf.recgrp.bas.appcode">
                        <c-input placeholder="请输入开证申请人代码" :disabled="disflgobj.appcode == 'X'"
                                 v-model="model.recgrp.bas.appcode"></c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="开证申请人名称" prop="cfabop.cfaeaf.recgrp.bas.appname">
                        <c-input maxlength="90" placeholder="请输入开证申请人名称"  :disabled="disflgobj.appname == 'X'"
                                 v-model="model.recgrp.bas.appname">
                        </c-input>
                    </el-form-item>
                </c-col>

                <c-col :span="24">
                    <el-form-item label="对方与本机构的关系" prop="cfabop.cfaeaf.recgrp.bas.relation">
                        <c-select placeholder="请输入对方与本机构的关系" dbCode="EXDTYP"   :disabled="disflgobj.relation == 'X'"
                                  v-model="model.recgrp.bas.relation"></c-select>
                    </el-form-item>
                </c-col>


            </c-col>

        </c-col>

    </div>
</template>
<script>

    export default {
        inject: ["root"],
        props: {
            model: {
                type: Object,
                default: undefined,
            },
            codes: {},
        },
        data() {
            return {
                showflg: false,
                warning: '',
                allitem: ["actiondesc","debtorcode","debtype","valuedate","contractcurr","contractamount","maturity","appcode","appname","creditorcode","creditorname","creditornamen","creditortype","crehqcode","opercode","spapfeboindex","remark","credittype","billsn","relation"],
                enableitem:  ["appcode","appname","creditorcode","creditorname","creditornamen","creditortype","crehqcode","opercode","spapfeboindex","remark","credittype","billsn","relation"],
                disflgobj: {},
            };
        },
        methods: {

     //需要控制字段是否可编辑
       disableByItem(){
          //遍历字段名数组,设置可编辑标志 X
          this.allitem.forEach((filedname,index) => {
              let disflg = 'X';
              let trnname = this.root.trnName.slice(0,6);
              let trntyp = trnname.slice(0,3);
              let basflg = this.root.model.cfabop.cfaeaf.basflg;
              //01 维护交易 新增 修改 字段均需要可编辑
             if(trnname === 'eafadd' || (trnname === 'eafame')){
                disflg = 'N';
             }

             //02 签约勾选的前提下 非展期的业务交易部分字段可编辑 
          if(basflg ==='X' && trntyp !== 'eaf' && trnname !== 'brteus' &&  this.enableitem.includes(filedname)){
              disflg = 'N';
          }

          //03 特殊化处理删除原因 只有删除交易操作类型为删除的情况下才能编辑
          if(filedname === 'actiondesc'){
              if(trnname === 'eafdel' && basflg ==='X' && this.root.model.cfabop.cfaeaf.recgrp.bas.actiontype =='D'){
                  disflg = 'N';
              }
          }


          // 标志赋值
          this.$set(this.disflgobj,filedname,disflg);

          });
          
      },

      //针对选择的债权人类型进行提示
      creditortypeChange(){
          let creditortype = this.model.recgrp.bas.creditortype;
          if(creditortype !='' && creditortype !=null){
              let subtyp = creditortype.slice(0,6);
              if(subtyp == '200016'){
                  if(creditortype == '20001603'){
                      this.$alert('债权人类型通常不选择关联企业,请再次确认选择是否正确。', "提示", {
                      confirmButtonText: "OK",
            });
                  }
              }else{
                 this.$alert('债权人类型通常为企业,请再次确认选择是否正确。', "提示", {
                 confirmButtonText: "OK",
               });
            }
           }
          }
        },
       mounted() {
           //初始化字段是否可编辑
            this.disableByItem();
      },
        computed: {},
        watch: {
    //设置债权人代码提示信息
	'model.recgrp.bas.creditortype'(newVal) {
        if (newVal != null &&newVal != "") {
        let creditortype = newVal.substring(0, 6);
        switch (creditortype) {
          case "200011":
            this.showflg = true;
            this.warning = "(GOV+国家地区代码)";
            break;
          case "200013":
            this.showflg = true;
            this.warning = "(CEB+国家地区代码)";
            break;
          case "200014":
            this.showflg = true;
            this.warning = "(8或11位的SWIFT CODE)";
            break;
          case "200012":
          case "200015":
            this.showflg = true;
            this.warning = "(优先填写SWIFT CODE)";
            break;
          default:
            this.showflg = false;
            this.warning = "";
            break;
        }
      }
    },
        },
        created: function () {
        }
    };
</script>
<style lang="less" scoped>
    .intrat /deep/ .el-input__inner {
        text-align: left;
    }
</style>