BusNavbar1.vue 3.36 KB
<template>
  <div class="m-list-btns">
    <div class="dialog-wrap">
        <el-card width="80%" :body-style="{padding:'0px'}" style="display:block" class="btn-group-wrap" >
          <div slot="header">
            <span>{{ groupMainName }}</span>
          </div>
          <el-button
              class="btn-item"
              v-for="(item, index) in handleDataList"
              :key="index"
              v-if="item.isMain == 'Y'"
              :title="item.disResult"
              type="primary"
              size="medium"
              :disabled="item.value === 'N'"
              @click="onNarBtnClick(item)"
          >{{ item.label }}
          </el-button>
        </el-card>
        <el-card width="80%" :body-style="{padding:'0px'}" style="display:block"  class="btn-group-wrap">
          <div slot="header">
            <span>{{ groupOtherName }}</span>
          </div>
          <el-button
              class="btn-item"
              v-for="(item, index) in handleDataList"
             :key="index"
              v-if="item.isMain == 'N'"
              :title="item.disResult"
              type="primary"
              size="medium"
              :disabled="item.value === 'N'"
              @click="onNarBtnClick(item)"
          >{{ item.label }}
          </el-button>
        </el-card>
      </div>
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import _ from "~/utils/Lodash"

export default {
  props: {
    codes:{},
    model: {
    },
    trnUrl:{
    },
    inifrm: {
    },
    branch:{
    },
    activeTab:{
    },
    handlerDataList:[],
    groupMainName:{
      default:'Main',
    },
    groupOtherName:{
      default:'Other',
    },
  },
  components: {},
  mixins: [commonProcess], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      handleDataList:[],
    };
  },
  methods: {
    //各入口按钮请求
    async onNarBtnClick(item) {
        this.$emit("onChoose", item,this.model);
    },

    getCodelabel(value, codenam) {
          const codeobj = this.codes[codenam].find(obj => obj.value === value)
          return codeobj ? codeobj.label : value;
      },
  
    async queryTableList () {
      const params = {
        inr: this.model.inr,
        type:this.activeTab.toUpperCase(),
        branch: JSON.parse(sessionStorage.getItem('currentOrg')).departmentNumber,
        inifrm: this.inifrm
      };
      const res = await Api.post('/' + this.trnUrl + '/' + this.inifrm + '/dealWithByInr', params);
      if (res.respCode === SUCCESS) {
        if (res.data) {
          this.handleDataList = res.data.map(item => ({
            code:item.inifrm,
            label: item.name,
            value: item.isAllowed,
            isMain: item.isMain,
            disResult: item.disResult
          }));
        }else{
          this.$notify.error({ title: '错误', message: '服务请求失败!' });
        }
      }
    }
  },

  
  mounted() {
    this.handleDataList = this.handlerDataList
    this.queryTableList()
  },
};
</script>
<style>
.btn-group-wrap {
  max-height: 250px;
  width: 100%;
  overflow-y: auto;
  display: block;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}


.btn-item {
  margin: 5px 5px 5px 7px ;
  float:left;
  border-radius: 5px;
  width:260px;
  height:40px;
}
.el-card__header{
  background-color:lightgray
}
</style>