yangfeng
2023-12-14 fc188397419e76da8e97c0782599f757fb34bd30
src/components/layout/components/appsidebar/index.vue
@@ -16,47 +16,44 @@
        text-color="#bfcbd9"
        active-text-color="#fff"
      >
        <el-submenu index="1">
        <el-submenu v-for="item in menus" :key="item.id" :index="item.id.toString()">
          <template slot="title">
            <i class="el-icon-money icon"></i>
            <span>供应商管理</span>
            <span>{{item.title}}</span>
          </template>
          <el-menu-item index="/supplierManage/supplier">供应商</el-menu-item>
          <el-menu-item v-for="itm in item.children" :key="itm.id" :index="itm.path">{{itm.title}}</el-menu-item>
        </el-submenu>
        <el-submenu index="2">
          <template slot="title">
            <i class="el-icon-phone-outline icon"></i>
            <span>采购管理</span>
          </template>
          <el-menu-item index="/purchaseManage/purchase">采购订单</el-menu-item>
          <el-menu-item index="/purchaseManage/quality">采购质检单</el-menu-item>
          <!-- <el-menu-item index="/purchaseManage/warehouse">采购入库单</el-menu-item> -->
          <el-menu-item index="/purchaseManage/returned">采购退货单</el-menu-item>
        </el-submenu>
        <el-submenu index="3">
          <template slot="title">
            <i class="el-icon-service icon"></i>
            <span>产品管理</span>
          </template>
          <el-menu-item index="/productManage/product">产品管理</el-menu-item>
        </el-submenu>
      </el-menu>
    </div>
  </div>
</template>
<script>
import {getMenuTreeByRole} from "@/api/menus/index"
export default {
  name: "AppSidebar",
  props: {},
  data() {
    return {}
    return {
      menus:[]
    }
  },
  watch: {},
  created() {
    this.initNavMenu()
    this.getMenuTreeByRole()
  },
  methods: {
    getMenuTreeByRole(){
      getMenuTreeByRole().then((res)=>{
        res.data.list.map((item)=>{
          if(item.systemType===4){
            this.menus=item.menus
          }
        })
      })
    },
    // 监听路由
    initNavMenu() {
      // console.log(this.$route.name)