<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 codeList" 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 CodeTable from "~/config/CodeTable" import Litsel from "~/model/Ditsel" import commonProcess from "~/mixin/commonProcess" export default { props:["ownref"], components:{ }, mixins: [commonProcess], // 里面包含了Default、Check等的公共处理 data(){ return { trnName:'ditsel', model:new Litsel().data, navcode:[ // {code:"",label:"",isDis:"",title:""}, ], } }, methods:{ //各入口按钮请求 async onNarBtnClick(code,i){ this.model.cfgfil.subtrn1= code let rtnmsg = await this.executeRule(`cfgfil.hotsub${i}`) // 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: "服务请求失败!" }); } }, getIndex(module){ for(let i = 1; i <= 12; i++){ var temp = this.model.cfgfil[`subtxt${i}`]; if(module == temp){ return i; } } return 0; } }, 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 = this.ownref console.log("ownref:" + this.ownref ); let rtnmsg = await this.executeRule("didgrp.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 // let j = 0; // let m = 0; // const buttonIndex = ['保证金收取','保证金注销','保证金调整','开立信用证','信用证修改','减额修改接受','修改通知行','到单'] // const buttonIndex = ['信用证修改','减额修改接受','到单','修改通知行'] // for(let i=0; i < length; i++){ //获取数组中每行的数据 // if(!( btnStr[i].indexOf("保证金") >= 0) && !(btnStr[i].indexOf("开立信用证") >= 0)){ // let arr = btnStr[i].split("\t"); // let newList = { // code:arr[0], // label:arr[1], // isDis:arr[2], // title:arr[3] // } // m++; // j = buttonIndex.indexOf(arr[1].replace(/(^\s*)|(\s*$)/g, "")); // if(j<0){ // j = m; // } //添加到navcode数组中 // this.navcode.splice(j,0,newList) // } // } 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>