index.vue 9.17 KB
<template>
  <c-page title="进口信用证单据承兑">
    <div class="eContainer">
      <el-form
        :model="model"
        :rules="rules"
        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="myTabClick"
        >
          <!--PD000032 -->
          <el-tab-pane label="承兑信息" name="payp">
            <c-content>
              <m-payp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000062 -->
          <el-tab-pane
            v-if="model.brdgrp.rec.dscinsflg"
            label="不符点"
            name="docpre"
          >
            <c-content>
              <m-docpre :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane
            v-if="model.brdgrp.rec.dscinsflg"
            label="装运详情"
            name="shpdet"
          >
            <c-content>
              <m-shpdet :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!-- ======新增隐藏面板====== -->
          <!--PD000139 -->
          <el-tab-pane
            label="不符点通知"
            name="mt750p"
            v-if="model.brdgrp.rec.advtyp == '750'"
          >
            <c-content>
              <m-mt750p :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000147 -->
          <el-tab-pane
            label="付款通知"
            name="mt754p"
            v-if="model.brdgrp.rec.advtyp == '754'"
          >
            <c-content>
              <m-mt754p :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000213 -->
          <el-tab-pane
            label="通知详情"
            name="othadvtypp"
            v-if="model.brdgrp.rec.advtyp == 'oth'"
          >
            <c-content>
              <m-othadvtypp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000027 -->
          <el-tab-pane label="表外记账" name="engp">
            <c-content>
              <m-engp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000001 -->
          <el-tab-pane label="保证金" name="ccvpan">
            <c-content>
              <m-ccvpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000000 -->
          <el-tab-pane label="结算" name="setpan">
            <c-content>
              <m-setpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000001 -->
          <el-tab-pane label="会计分录" name="glepan">
            <c-content>
              <m-glepan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000000 -->
          <el-tab-pane label="提示信息" name="coninfp">
            <c-content>
              <m-coninfp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000529 -->
          <el-tab-pane label="面函和报文" name="docpan">
            <c-content>
              <m-docpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000546 -->
          <el-tab-pane label="附件" name="doctre">
            <c-content>
              <m-doctre :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000001 -->
          <el-tab-pane label="外债远期信用证数据采集" name="cfap">
            <c-content>
              <m-cfap :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD001139 新增隐藏面板-->
          <!-- <el-tab-pane label="PD001139" name="shisuan">
          <c-content>
            <m-shisuan :model="model" :codes="codes"/>
          </c-content>
        </el-tab-pane> -->

          <!--PD000001 -->
          <el-tab-pane label="统一授信" name="limitbody">
            <c-content>
              <m-limitbody :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000001 -->
          <el-tab-pane
            label="外债远期信用证(含即期单证相符)-签约信息"
            name="conp"
            v-if="model.cfabrt.cfaflg == 1"
          >
            <c-content>
              <m-conp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!-- bd工具编不了,需手动写页面dclpp -->
          <el-tab-pane
            label="外债远期信用证(含即期单证相符)-变动信息"
            name="dclpp"
            v-if="model.cfabrt.cfaflg == 1"
          >
            <c-content>
              <m-dclpp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
        </c-tabs>
      </el-form>

      <!-- <c-bus-button :$pntvm="this"></c-bus-button>   按钮 -->
      <c-function-btn
        :handleSubmit="handleSubmit"
        :handleCheck="handleCheck"
        :handleStash="handleStash"
      >
        <el-button size="small">备忘录</el-button>
        <el-button size="small" @click="setDraggableContent('cms', '影像信息')"
          >影像信息</el-button
        >
        <!-- <el-button size="small">保存模板</el-button> -->
        <!-- <el-button size="small">使用模板</el-button> -->
        <el-button size="small">制裁信息</el-button>
        <!-- <el-button size="small">拆分报文</el-button> -->
        <el-button size="small">智能提示</el-button>
      </c-function-btn>

      <c-grid-ety-prompt-dialog
        ref="etyDialog"
        :promptData="promptData"
        @select-ety="selectEty"
      ></c-grid-ety-prompt-dialog>
      <c-grid-ety-prompt-dialog
        ref="doxpDialog"
        :isPty="false"
        :promptData="promptData"
        @select-ety="selectMsg"
      >
      </c-grid-ety-prompt-dialog>
    </div>
  </c-page>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Brtudp from "~/model/Brtudp";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Brtudp/Check";
import Default from "~/model/Brtudp/Default";
import Pattern from "~/model/Brtudp/Pattern";
import Payp from "./Payp";
import Docpre from "./Docpre";
import Mt750p from "./Mt750p";
import Mt754p from "./Mt754p";
import Othadvtypp from "./Othadvtypp";
import Shpdet from "./Shpdet";

// import Engp from "./Engp";
// import Ccvpan from "./Ccvpan";
// import Setpan from "./Setpan";
// import Glepan from "./Glepan";
// import Coninfp from "./Coninfp";
// import Docpan from "./Docpan";
// import Doctre from "./Doctre";
import Cfap from "./Cfap";
import Shisuan from "./Shisuan";
// import Limitbody from "./Limitbody";
import Conp from "./Conp";
import Dclpp from "./Dclpp";

//公共面板导入
import Engp from "~/views/Public/Engp";
import Ccvpan from "~/views/Public/Ccvpan";
import Setpan from "~/views/Public/Setpan";
import Glepan from "~/views/Public/Glepan";
import Coninfp from "~/views/Public/Coninfp";
import Docpan from "~/views/Public/Docpan";
import Doctre from "~/views/Public/Doctre";
import Limitbody from "~/views/Public/Limitbody";

export default {
  name: "Brtudp",
  components: {
    "m-shpdet": Shpdet,
    "m-payp": Payp,
    "m-docpre": Docpre,
    "m-mt750p": Mt750p,
    "m-mt754p": Mt754p,
    "m-othadvtypp": Othadvtypp,
    "m-conp": Conp,
    "m-engp": Engp,
    "m-ccvpan": Ccvpan,
    "m-setpan": Setpan,
    "m-glepan": Glepan,
    "m-coninfp": Coninfp,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
    "m-cfap": Cfap,
    "m-shisuan": Shisuan,
    "m-limitbody": Limitbody,
    "m-dclpp": Dclpp,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "payp",
      trnName: "brtudp",
      model: new Brtudp().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: {
        ...CodeTable, //...即返回到views同级,关联码表
      },
    };
  },
  methods: {
    myTabClick(tab) {
      this.tabClick(tab);
      let name = tab.name;
      let rulePath;
      if (name === "conp") {
        rulePath = "cfabrt.recp.conp";
      }
      if (name === "dclpp") {
        rulePath = "cfabrt.recp.dclp(1).dclpp";
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
  },
  created: async function () {
    console.log("进入brtudp交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      this.updateModel(rtnmsg.data);
      //TODO 处理数据逻辑
      if (this.isInDisplay) {
        this.restoreDisplay();
      }
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>