doum
2025-09-25 c5675caab8392bfafd217d06529c2547edaa6aa8
admin/src/components/common/MenuSelect.vue
@@ -36,7 +36,8 @@
      default: false
    },
    // 需被排除的部门ID
    excludeId: {}
    excludeId: {},
    topMenuId: {}
  },
  data () {
    return {
@@ -45,6 +46,9 @@
  },
  watch: {
    excludeId () {
      this.fetchData()
    },
    topMenuId () {
      this.fetchData()
    }
  },
@@ -64,7 +68,17 @@
        fetchTree()
          .then(records => {
            this.data = []
            this.__fillData(this.data, records)
            var res = [];
            if(this.topMenuId){
              records.forEach(item => {
                if(item.id == this.topMenuId){
                  res = item.children
                }
              })
            }else{
              res = records
            }
            this.__fillData(this.data, res)
          })
          .catch(e => {
            this.$tip.apiFailed(e)
@@ -74,7 +88,7 @@
    // 填充菜单树
    __fillData (list, pool) {
      for (const menu of pool) {
        if (menu.id === this.excludeId) {
        if (menu.id === this.excludeId || menu.linkType ===1) {
          continue
        }
        const menuNode = {