<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-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">

           <el-tab-pane label="User Profile" name="usrp0">
            <c-content>
                <m-usrp0 :model="model" :codes="codes"/>
            </c-content>
           </el-tab-pane>


           <el-tab-pane label="General Fields" name="genpan">
                <m-genpan :model="model" :codes="codes"/>
           </el-tab-pane>


           <el-tab-pane label="User Authorization" name="ubrp">
                <m-ubrp :model="model" :codes="codes"/>
           </el-tab-pane>
  

           <el-tab-pane label="Related clients" name="usrp3">
            <c-content>
                <m-usrp3 :model="model" :codes="codes"/>
              </c-content>
           </el-tab-pane>
       </c-tabs>
    </el-form>
    <c-grid-ety-prompt-dialog ref="etyDialog" :promptData="promptData" v-on: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>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Dbiusr from "~/model/Dbiusr"
import commonProcess from "~/mixin/commonProcess"
import Check from "~/model/Dbiusr/Check"
import Default from "~/model/Dbiusr/Default"
import Pattern from "~/model/Dbiusr/Pattern"
import Usrp0 from "./Usrp0"
import Genpan from "./Genpan"
import Ubrp from "./Ubrp"
import Usrp3 from "./Usrp3"


export default {
    name: "Dbiusr",
    components:{
        "m-usrp0" : Usrp0,
        "m-genpan" : Genpan,
        "m-ubrp" : Ubrp,
        "m-usrp3" : Usrp3,
    },
    provide() {
        return {
            root: this
        }
    },
    mixins: [commonProcess],    // 里面包含了Default、Check等的公共处理
    data(){
        return {
            tabVal: "usrp0",
            trnName: "dbiusr",
            trnType: "",
            model: new Dbiusr().data,
            checkRules: Check,
            defaultRules: Default,
            pattern: Pattern,
            rules: null,
            codes: {...CodeTable
            },
        }
    },
    methods:{
        myTabClick(tab) {
      this.tabClick(tab);
      let name = tab.name;
      let rulePath;
      if (name === "ubrp") {
        rulePath = "recpan.ubrp";
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
      
    },
    },
    created:async function(){
        console.log("进入dbiusr交易");
        let rtnmsg = await this.init({})
        if(rtnmsg.respCode == SUCCESS)
        {
           this.updateModel(rtnmsg.data)
           //TODO 处理数据逻辑

        }
        else
        {
            this.$notify.error({title: '错误',message: '服务请求失败!'});
        }
    }
}
</script>
<style>
.infusrTab .el-tabs__content {
        padding: 10px 0 10px 0;
    }

    .infusrTab .infrow {
        padding: 0 10px 0 10px;
    }
</style>