index.vue 6.36 KB
<template>
  <div class="eContainer">
    <c-page title="汇入汇款">
      <el-form :model="model" :rules="curRules" ref="modelForm" label-width="120px" label-position="right" size="small" :validate-on-rule-change="false">
        <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="tabClick">
          <!--cptadv PD000020  -->
          <el-tab-pane label="业务信息" name="opnp1">
            <c-content>
              <m-ovwp :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane :label="$t('commonModels.费用/账务')" name="setpan">
            <c-content>
              <m-setmod :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane label="报文/面函" name="docpan">
            <c-content>
              <m-docpan :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <!--bopgat PD000006 外管信息 -->
          <el-tab-pane label="外管信息" name="bopgat" v-if="model.cpdgrp.rec.accmod=='' || model.cpdgrp.rec.accmod=='G' || model.cpdgrp.rec.accmod=='0'">
            <c-content>
              <m-bopgat :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <!--rmbbop PD000001 跨境人民币申报 -->
          <el-tab-pane label="跨境人民币申报" name="rmbbop" v-if="showRmbbop">
            <c-content>
              <m-rmbbop :codes="codes" :model="model" ref="rmbbop" />
            </c-content>
          </el-tab-pane>
          <el-tab-pane :label="$t('commonModels.统一名单')" name="usrmd">
            <c-content>
              <m-usrmd :codes="codes" :model="model" />
            </c-content>
          </el-tab-pane>
          <!-- 国贸公服 -->
          <el-tab-pane :label="$t('commonModels.国贸公服')" name="gmgf" v-if="model.gmgfVo.visual">
            <c-content>
              <m-gmgf :codes="codes" :model="model.gmgfVo" />
            </c-content>
          </el-tab-pane>
        </c-tabs>
      </el-form>
      <!-- 底部按钮 -->
      <c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash" ref="commonBtn" @handleSureWarning="handleSureWarning"></c-function-btn>
    </c-page>
  </div>
</template>
<script>
  import CodeTable from "~/config/CodeTable";
  import Cptadv from "../model";
  import event from "../event";
  import operationFunc from "~/mixin/operationFunc";
  import commonDepend from "~/mixin/commonDepend";
  import Checkswift from "../model/checkswift";
  import Checkcips from "../model/checkcips";
  import Checkjnwb from "../model/checkjnwb";
  import Checkhnhz from "../model/checkhnhz";
  import Checkother from "../model/checkother";
  import Default from "../model/default";
  import buildFn from "../event/buildCommons.js";

  import SwiftOpnp from "./swift/Opnp1";
  import CipsOpnp from "./cips/Opnp1";
  import JnwbOpnp from "./jnwb/Opnp1";
  import HnhzOpnp from "./hnhz/Opnp1";
  import OtherOpnp from "./other/Opnp1";
  import Orcpye from "./swift/Orcpye";
  import Orcpye2 from "./cips/Orcpye";
  import Orcpye3 from "./jnwb/Orcpye";
  import Orcpye4 from "./hnhz/Orcpye";
  import Orcpye5 from "./other/Orcpye";
  import Routeinfo from "./Routeinfo";
  import Setmod from "~/components/business/setmod/views";
  import Docpan from "~/components/business/docpan/views";
  import Doctre from "~/components/business/doctre/views";
  import Rmbbop from "../../../../components/business/rmb/rmbbop/views";
  import Usrmd from "~/components/business/Usrmd/views";
  import Bopgat from "~/components/business/Bopgat/views";
  import Ovwp from "./Ovwp";
  import Gmgf from "~/components/business/gmgf/views";

  export default {
  name: "Cptadv",
  components: {
    "m-swift-opnp": SwiftOpnp,
    "m-cips-opnp": CipsOpnp,
    "m-jnwb-opnp": JnwbOpnp,
    "m-hnhz-opnp": HnhzOpnp,
    "m-other-opnp": OtherOpnp,
    "m-routeinfo": Routeinfo,
    "m-swift-orcpye": Orcpye,
    "m-cips-orcpye": Orcpye2,
    "m-jnwb-orcpye": Orcpye3,
    "m-hnhz-orcpye": Orcpye4,
    "m-other-orcpye": Orcpye5,
    "m-setmod": Setmod,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
    "m-rmbbop": Rmbbop,
    "m-usrmd": Usrmd,
    "m-bopgat": Bopgat,
    "m-ovwp": Ovwp,
    "m-gmgf": Gmgf,
  },
  provide() {
    return {
      root: this,
      markPyeact: "" //备份收款人账号
    };
  },
  mixins: [Default, operationFunc, event, commonDepend, buildFn],
  data() {
    return {
      tabVal: "opnp1",
      trnName: "cptadv",
      model: new Cptadv().data,
      codes: {
        ...CodeTable
      },
      activeNames: ["route"],
			markRules: {},
			rules: {}
    };
  },
  computed: {
    curRules() {
      if (this.model.cpdgrp.rec.cptrou == "SWIFT") {
        return { ...Checkswift.apply(this), ...this.rules };
      } else if (this.model.cpdgrp.rec.cptrou == "CIPS") {
        return { ...Checkcips.apply(this), ...this.rules };
      } else if (this.model.cpdgrp.rec.cptrou == "JNWB") {
        return { ...Checkjnwb.apply(this), ...this.rules };
      } else if (this.model.cpdgrp.rec.cptrou == "HNHZ") {
        return { ...Checkhnhz.apply(this), ...this.rules };
      }else if (this.model.cpdgrp.rec.cptrou == "OTHER") {
        return { ...Checkother.apply(this), ...this.rules };
      }
      return {};
    },
    showRmbbop() {
      const cptrou = this.model.cpdgrp.rec.cptrou;
      if (cptrou === "HNHZ") {
        const orcact = this.model.cpdgrp.rec.orcact; //汇款人账号
        const pyeact = this.model.cpdgrp.rec.pyeact; //收款人账号
        const flag1 = orcact.includes("EFN") || orcact.includes("FTN") || orcact.includes("NRA");
        const flag2 = !pyeact.includes("EFN") && !pyeact.includes("FTN") && !pyeact.includes("NRA");
        return this.model.cpdgrp.rec.manbod !== "1" && !(flag1 && flag2);
      } else {
        const accmod = this.model.cpdgrp.rec.accmod;
        return cptrou !== 'JNWB' && (accmod === '' || accmod === '0' || accmod === 'G');
      }
    }
  },
  methods: {},
  created() {
    console.log("进入cptadv交易");
    let params = {
      transName: this.trnName,
      cpdgrp: {
        rec: {
          inr: this.$route.query.inr,
          accmod: this.$route.query.accmod
        }
      }
    };
    this.init(params);
  }
};
</script>
<style lang="less" scoped>
::v-deep .el-collapse-item__content{
	padding-bottom: 0px!important;
}
::v-deep .el-tabs__content .eibs-tab{
	padding:0px!important
}
</style>