<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 Letsel from "~/model/Letsel";
import commonProcess from "~/mixin/commonProcess";

export default {
  props: ["ownref"],
  components: {},
  mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      trnName: "letsel",
      model: new Letsel().data,
      navcode: [
        // {code:"",label:"",isDis:"",title:""},
      ],
    };
  },
  methods: {
    //各入口按钮请求
    async onNarBtnClick(code, i) {
      this.model.cfgfil.subtrn1 = code;
      let rtnmsg = await this.executeRule("cfgfil.hotsub3");
      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.didgrp.rec.ownref = 'KZ3500210540AA'
        this.model.bedgrp.rec.ownref = this.ownref;
        console.log("ownref:" + this.ownref);
        let rtnmsg = await this.executeRule("bedgrp.rec.ownref");//didgrp_rec_ownref
     //    let rtnmsg0 = await this.executeRule("bedgrp.rec.ownref"); //cfgfil.hotreg3

     //    if (rtnmsg0.respCode == SUCCESS) {
     //      this.updateModel(rtnmsg0.data);
     //      let rtnmsg = await this.executeRule("bedgrp.rec.ownref"); //cfgfil.hotreg3
          if (rtnmsg.respCode == SUCCESS) {
            //重置数组
            this.navcode = [];
            this.updateModel(rtnmsg.data);
            //this.model.cfgfil.btnstm = rtnmsg.data.cfgfil_btnstm.rows
            //给inr赋值,后面弹窗里面的按钮请求会用到
            //this.model.didgrp.rec.inr = rtnmsg.data.didgrp_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>