index.vue 4.68 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">

                    <el-tab-pane label="业务信息" name="ovwp">
            <c-content>
              <m-ovwp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="费用/账务" name="engp,setpan,glepan">
            <c-content>
              <div class="eibs-tab">
                <el-collapse v-model="activeNames">
                  <el-collapse-item title="表外记账" name="engp">
                    <!-- 表外记账 -->
                    <m-engp :model="model" :codes="codes" />
                  </el-collapse-item>
                  <el-collapse-item title="结算" name="setpan">
                    <!-- 结算 -->
                    <m-setpan :model="model" :codes="codes" />
                  </el-collapse-item>
                  <el-collapse-item title="会计分录" name="glepan">
                    <!-- 会计分录 -->
                    <m-glepan :model="model" :codes="codes" />
                  </el-collapse-item>
                </el-collapse>
              </div>
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="备查/附言" name="addbcb">
            <c-content>
              <m-addbcb :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

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

          <el-tab-pane label="附件信息" name="doctre">
            <c-content>
              <m-doctre :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
                </c-tabs>
            </el-form>
            <c-function-btn
        :handleSubmit="handleSubmit"
        :handleCheck="handleCheck"
        :handleStash="handleStash"
      >
      </c-function-btn>
        </div>
    </c-page>
</template>
<script>
import Api from "~/service/Api"
import Utils from "~/utils/index"
import CodeTable from "~/config/CodeTable"
import Botacc from "~/model/Botacc"
import commonFuncs from "~/mixin/commonFuncs"
import commonProcess from "~/mixin/commonProcess"
import Check from "~/model/Botacc/Check"
import Default from "~/model/Botacc/Default"
import Pattern from "~/model/Botacc/Pattern"

import Setp from "./Setp"
import Inst from "./Inst"
import Ptyp from "./Ptyp"
import Addbcb from "./Addbcb";
import Ovwp from "./Ovwp"

import Setpan from "~/views/Public/Setpan"
import Docpan from "~/views/Public/Docpan"
import Engp from "~/views/Public/Engp"
import Doctre from "~/views/Public/Doctre"
import Coninfp from "~/views/Public/Coninfp"
import Glepan from "~/views/Public/Glepan";


export default {
    name: "Botacc",
    components: {
        "m-addbcb": Addbcb,
        "m-ovwp": Ovwp,
        "m-setp": Setp,
        "m-inst": Inst,
        "m-ptyp": Ptyp,
        "m-engp": Engp,
        "m-setpan": Setpan,
        "m-coninfp": Coninfp,
        "m-docpan": Docpan,
        "m-doctre": Doctre,
        "m-glepan":Glepan,
    },
    provide() {
        return {
            root: this
        }
    },
    mixins: [commonProcess, commonFuncs],    // 里面包含了Default、Check等的公共处理
    data() {
        return {
            tabVal: "ovwp",
            trnName: "botacc",
            model: new Botacc().data,
            checkRules: Check,
            defaultRules: Default,
            pattern: Pattern,
            rules: null,
            codes: {
                ...CodeTable
            },
            activeNames: ["engp"],
        }
    },
    methods: {
        myTabClick(tab) {
            this.tabClick(tab)
            /**
            *  do it yourself
            **/
        }
    },
    created: async function () {
        console.log("进入botacc交易");
        let rtnmsg = await this.init({})
        if (rtnmsg.respCode == SUCCESS) {
            this.updateModel(rtnmsg.data)
            //TODO 处理数据逻辑
            if (this.isInDisplay) {
                this.restoreDisplay();
            }
            this.$nextTick(() => {
                this.$refs.setp.$refs.table.$refs.table.toggleAllSelection();
                this.model.setmod.docamt = this.model.bodgrp.cbs.max.amt;
            })
        }
        else {
            this.$notify.error({ title: '错误', message: '服务请求失败!' });
        }
    }
}
</script>
<style>

</style>