index.vue 5.87 KB
<template>
  <div class="eContainer">
    <el-form
      :model="model"
      :rules="rules"
      ref="modelForm"
      label-width="150px"
      label-position="left"
      size="small"
      :validate-on-rule-change="false"
    >

    <m-infsea v-show="!showPanel" @updateShowPanel="updateShowPanel($event)"  :model="model" :codes="codes" ref="infsea"/>

      <c-tabs v-model="tabVal" v-show="showPanel" ref="elment" type="card" @tab-click="tabClick">
        <!--PD000006 -->
        <!-- <el-tab-pane label="Selection" name="infsea">
          <c-content>
            <m-infsea :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane> -->

        <!--PD000001 -->
        <el-tab-pane label="Overview" name="ovwp">
          <m-ovwp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000077 -->
        <el-tab-pane label="Details" name="detp">
          <m-detp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000042 -->
        <el-tab-pane label="Parties" name="ptyp">
          <c-content>
            <m-ptyp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--PD000169 -->
        <el-tab-pane label="Orig.L/C Details" name="lttinf">
          <m-lttinf :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000000 -->
        <el-tab-pane label="Completion" name="coninfp">
          <m-coninfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000013 -->
        <el-tab-pane label="Transaction" name="trnpan">
          <m-trnpan :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000019 -->
        <el-tab-pane label="CBS Info" name="cbsinfp">
          <m-cbsinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000028 -->
        <el-tab-pane label="CBE Info" name="cbeinfp">
          <m-cbeinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000111 -->
        <el-tab-pane label="FEP/FCP Info" name="fepinfp">
          <m-fepinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000162 -->
        <el-tab-pane label="SEP Info" name="sepinfp">
          <m-sepinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000177 -->
        <el-tab-pane label="GLE Info" name="gleinfp">
          <m-gleinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000119 -->
        <el-tab-pane label="SMH Info" name="smhinfp">
          <m-smhinfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000130 -->
        <el-tab-pane label="SPT/DIA Info" name="peninfp">
          <m-peninfp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000005 -->
        <el-tab-pane label="Print" name="prtpan">
          <m-prtpan :model="model" :codes="codes" />
        </el-tab-pane>
      </c-tabs>
    </el-form>
    <c-button
          v-show="showPanel"
          style="margin-left: 75%;bottom: 10%;position:sticky"
          size="small"
          @click="goBack()">
     <!-- @click="getDitSelInfo(scope.$index, scope.row)" -->
          返回
     </c-button>
  </div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Infltd from "~/model/Infltd";
import commonProcess from "~/mixin/commonProcess";
import Check from "~/model/Infltd/Check";
import Default from "~/model/Infltd/Default";
import Pattern from "~/model/Infltd/Pattern";
import Infsea from "./Infsea";
import Ovwp from "./Ovwp";
import Detp from "./Detp";
import Ptyp from "./Ptyp";
import Lttinf from "./Lttinf";
import Coninfp from "./Coninfp";
import Trnpan from "./Trnpan";
import Cbsinfp from "./Cbsinfp";
import Cbeinfp from "./Cbeinfp";
import Fepinfp from "./Fepinfp";
import Sepinfp from "./Sepinfp";
import Gleinfp from "./Gleinfp";
import Smhinfp from "./Smhinfp";
import Peninfp from "./Peninfp";
import Prtpan from "./Prtpan";

export default {
  components: {
    "m-infsea": Infsea,
    "m-ovwp": Ovwp,
    "m-detp": Detp,
    "m-ptyp": Ptyp,
    "m-lttinf": Lttinf,
    "m-coninfp": Coninfp,
    "m-trnpan": Trnpan,
    "m-cbsinfp": Cbsinfp,
    "m-cbeinfp": Cbeinfp,
    "m-fepinfp": Fepinfp,
    "m-sepinfp": Sepinfp,
    "m-gleinfp": Gleinfp,
    "m-smhinfp": Smhinfp,
    "m-peninfp": Peninfp,
    "m-prtpan": Prtpan,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "infsea",
      trnName: "infltd",
      model: new Infltd().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      showPanel:false,
      codes: { ...CodeTable },
    };
  },
  methods: {
    goBack(){
          this.showPanel = false;
        },
    tabClick(tab) {

          const name = tab.name
          let rulePath;
          
          if (name === "fepinfp") {
          rulePath = "infcon.fepinfp";
          }
          if (name === "coninfp") {
          rulePath = "coninf.coninfp";
          }
          
          
          if (!!rulePath) {
          this.executeRule(rulePath).then(res => {
               if (res.respCode == SUCCESS) {
                 this.updateModel(res.data);
               }
          })
          }
        },
        initPanel(val){
            if(val){
            this.tabVal = "ovwp"
          //   
          }else{
            this.tabVal = ""
          }
        },
    async updateShowPanel(value) {
            this.showPanel = value;
            this.initPanel(value);
        },
  },
  created: async function () {
    console.log("进入infltd交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      console.log("ini方法:");
      //TODO 处理数据逻辑
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>