<template>
  <div class="busnavbar">
     <div class="busnavbar-items">
          <c-button style="margin-left:7px;" class="medium_bcs" size="medium" type="primary" v-for="(item,index)  in codeList" v-bind:key="index" @click.native="onNarBtnClick(item.code,index)"   :title="item.title" :disabled="item.isDis==='N'">{{item.label}}</c-button>      
     </div>
  </div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Bptsel from "~/model/Bptsel"
import commonProcess from "~/mixin/commonProcess"


export default { 
    props:["ownref"],
    components:{
        
    },
    mixins: [commonProcess],    // 里面包含了Default、Check等的公共处理
    data(){
        return {
            trnName:'bptsel',
            model:new Bptsel().data,
            navcode:[
               // {code:"",label:"",isDis:"",title:""},            
            ],
        }
    },
    methods:{
         //各入口按钮请求
     async  onNarBtnClick(code,i){
            this.model.cfgfil.subtrn1= code  
            let rtnmsg = await this.executeRule("cfgfil.hotsub1")
            console.log("cfgfil.code:" +  this.model.cfgfil.subtrn1);
            if(rtnmsg.respCode == SUCCESS){
               this.navcode = []
               this.$emit("onChoose",code.toLowerCase());
            }else{
               this.$notify.error({ title: "错误", message: "服务请求失败!" });
            }
            
        },
    
     },
    computed:{
         codeList(){
              //将model中的数据映射成数组
              return this.navcode.map(item=>{
                  let entireItem = {...item}
                  this.navcode = [];
                  //TODO 根据数据判断当前的code,是否可以继续
               //    entireItem.enable = item.isDis
                  return entireItem
              })
         }
     },
     watch:{
        "ownref":async function(n, o){
            if(!this.ownref){
                 console.log("11111")
               //   onTigger()
                 return;
            }
        }
    },
    
    mounted(){
         this.$nextTick(function(){
              this.$on('childmethods',async function(){
                   this.navcode = []
                  //请求按钮数据
                  //this.model.bpdgrp.rec.ownref = 'KZ3500210540AA'  
                  this.model.bpdgrp.rec.ownref = this.ownref  
                  console.log("ownref:" + this.ownref  );
                        // let rtnmsg = await this.executeRule("bpdgrp.rec.ownref");//bpdgrp_rec_ownref
                    let rtnmsg0 = await this.executeRule("bpdgrp.rec.ownref");//cfgfil.hotreg3
                         
                    if(rtnmsg0.respCode == SUCCESS){
                          this.updateModel(rtnmsg0.data)
                          let rtnmsg = await this.executeRule("cfgfil.hotreg1");//cfgfil.hotreg3
                          if(rtnmsg.respCode == SUCCESS){
                               //重置数组
                              this.navcode = []
                              this.updateModel(rtnmsg.data)
                              //this.model.cfgfil.btnstm = rtnmsg.data.cfgfil_btnstm.rows
                              //给inr赋值,后面弹窗里面的按钮请求会用到
                              //this.model.bpdgrp.rec.inr = rtnmsg.data.bpdgrp_rec_inr
                              const length = this.model.cfgfil.btnstm.rows.length
                              let btnStr = this.model.cfgfil.btnstm.rows
                              for(let i=0;  i < length; i++){
                              //获取数组中每行的数据
                                   let arr = btnStr[i].split("\t");                        
                                   let newList = {
                                        code:arr[0],
                                        label:arr[1],
                                        isDis:arr[2],
                                        //isDis:'Y',
                                        title:arr[3]                       
                                   }
                                   //添加到navcode数组中
                                   this.navcode.splice(i,0,newList)
                              }
                          }else{
                              this.navcode = [] 
                              this.$notify.error({ title: "错误", message: "服务请求失败!" });
                          }
                              
                        
                         }else{
                              this.navcode = [] 
                              this.$notify.error({ title: "错误", message: "服务请求失败!" });
                         }
                        
                    })
              })
         }
    

}
</script>
<style>

</style>