<template> <div class="busnavbar"> <div class="busnavbar-items"> <c-button style="margin-left: 7px" size="medium" type="primary" class="medium_bcs" v-for="(item, index) in navcode" v-bind:key="index" @click.native="onNarBtnClick(item.code, item.index)" :title="item.title" :disabled="item.isDis === 'N'" >{{ item.label }}</c-button > </div> </div> </template> <script> import Api from "~/service/Api"; import commonProcess from "~/mixin/commonProcess"; export default { props: { "ownref": { required: true, }, "trnCode": { required: true, }, "model": { required: true, }, "ownrefPath": { required: false, default: "didgrp" }, "tabIndex": { required: false, default: 1 }, }, components: {}, mixins: [commonProcess], // 里面包含了Default、Check等的公共处理 data() { return { navcode: [ // {code:"",label:"",isDis:"",title:""}, ], }; }, methods: { //各入口按钮请求 async onNarBtnClick(code, i) { this.model.cfgfil[`subtrn${i}`] = code; let rtnmsg = await this.executeRule(`cfgfil.hotsub${i}`); if (rtnmsg.respCode == SUCCESS) { this.navcode = []; this.$emit("onChoose", code.toLowerCase()); } else { this.$notify.error({ title: "错误", message: "服务请求失败!" }); } }, getIndex(module) { for (let i = 1; i <= 12; i++) { var temp = this.model.cfgfil[`subtxt${i}`]; if (module == temp) { return i; } } return 0; }, }, mounted() { this.trnName = this.trnCode this.$nextTick(function () { this.$on("childmethods", async function () { let res = await this.executeRule(`cfgfil.hotreg${this.tabIndex}`); if (res.respCode == SUCCESS) { this.updateModel(res.data); } else { this.$notify.error({ title: "错误", message: "服务请求失败!", }); } this.navcode = []; //请求按钮数据 this.model[this.ownrefPath].rec.ownref = this.ownref; let rtnmsg = await this.executeRule(this.ownrefPath+".rec.ownref"); //didgrp_rec_ownref 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"); var index = this.getIndex(arr[1]); let newList = { code: arr[0], label: arr[1], isDis: arr[2], title: arr[3], index: index, }; this.navcode.push(newList); } } else { this.navcode = []; this.$notify.error({ title: "错误", message: "服务请求失败!" }); } }); }); }, }; </script> <style> </style>