<template>
  <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-content>
        <m-infsea
          v-show="!showPanel"
          @updateShowPanel="updateShowPanel($event)"
          :model="model"
          :codes="codes"
          ref="infsea"
        />
      </c-content>
      <c-tabs
        v-model="tabVal"
        v-show="showPanel"
        ref="elment"
        type="card"
        @tab-click="tabClick"
      >
        <!--PD000017 -->
        <el-tab-pane label="内容" name="ovwp">
          <m-ovwp :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>
  <!-- </c-page> -->
</template>
<script>
import Utils from "~/utils/index";
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Infdet from "~/model/Infdet";
import commonProcess from "~/mixin/commonProcess";
import Check from "~/model/Infdet/Check";
import Default from "~/model/Infdet/Default";
import Pattern from "~/model/Infdet/Pattern";
import Infsea from "./Infsea";


export default {
  name: "Infdet",
  components: {
    "m-infsea": Infsea,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "",
      trnName: "infdet",
      model: new Infdet().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      showPanel: false,
      rules: null,
      codes: { ...CodeTable },
      showflg: true,
    };
  },
  methods: {
    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);
    },
    goBack() {
      this.showPanel = false;
    },
  },
  created: async function () {
    console.log("进入infdet交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      //TODO 处理数据逻辑
      Utils.copyValueFromVO(this.model, rtnmsg.data);
      this.$refs.infsea.handleSearch();
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
  watch: {},
};
</script>
<style scoped>
</style>