|  |  |  | 
|---|
|  |  |  | 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="/client/salesLead">销售线索</el-menu-item> | 
|---|
|  |  |  | <el-menu-item v-for="itm in item.children" :key="itm.id" :index="itm.path">{{ itm.title }}</el-menu-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <el-menu-item index="/client/salesLead">销售线索</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/client/clientManage">客户管理</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/client/contacts">联系人</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/client/followupRecords">跟进记录</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/client/followupRecords">跟进记录</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="/sales/salesOpportunity">销售机会</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/quotation">报价单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/masterOrder">销售总单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/subOrder">销售子单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/salesDetails">销售明细单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/salesReturn">销售退货单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/refundForm">销售退款单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/contractManage">合同管理</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/sales/generatePlan">生成计划</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="/service/serviceContract">服务合同</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/service/clientServiceOrder">客户服务单</el-menu-item> | 
|---|
|  |  |  | <el-menu-item index="/service/serviceFollowup">服务回访单</el-menu-item> | 
|---|
|  |  |  | <!-- <el-menu-item index="/service/serviceFeeManage">服务收费管理</el-menu-item> --> | 
|---|
|  |  |  | </el-submenu> | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- <el-submenu index="4"> | 
|---|
|  |  |  | <template slot="title"> | 
|---|
|  |  |  | <i class="el-icon-location"></i> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-menu-item index="/backgroundConfig/rolePermssion">角色权限</el-menu-item> | 
|---|
|  |  |  | </el-submenu> --> | 
|---|
|  |  |  | </el-menu> | 
|---|
|  |  |  | <el-empty v-if="this.menus===null||this.menus===undefined||this.menus.length===0" :image-size="130" description="没有侧栏菜单"></el-empty> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | name: "AppSidebar", | 
|---|
|  |  |  | props: {}, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return {} | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | menus:[] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | watch: { | 
|---|
|  |  |  | // $route: { | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.initNavMenu() | 
|---|
|  |  |  | this.getMenuTreeByRole() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | getMenuTreeByRole(){ | 
|---|
|  |  |  | let newList=this.$store.state.menus | 
|---|
|  |  |  | console.log(newList,"newList") | 
|---|
|  |  |  | // 隐藏了 生成计划 和 服务收费管理模块 | 
|---|
|  |  |  | if(newList[1]){ | 
|---|
|  |  |  | const found = newList[1].children.find(obj => obj.title === "生成计划") | 
|---|
|  |  |  | if(found){ | 
|---|
|  |  |  | newList[1].children=[...newList[1].children.slice(0, -1)]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(newList[2]){ | 
|---|
|  |  |  | const found1 = newList[2].children.find(obj => obj.title === "服务收费管理") | 
|---|
|  |  |  | if(found1){ | 
|---|
|  |  |  | newList[2].children=[...newList[2].children.slice(0, -1)]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.menus=newList | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 监听路由 | 
|---|
|  |  |  | initNavMenu() { | 
|---|
|  |  |  | // console.log(this.$route.name) | 
|---|
|  |  |  | 
|---|
|  |  |  | <!-- Add "scoped" attribute to limit CSS to this component only --> | 
|---|
|  |  |  | <style lang="scss" scoped> | 
|---|
|  |  |  | @import "./index.scss"; | 
|---|
|  |  |  | ::v-deep .el-empty{ | 
|---|
|  |  |  | .el-empty__description{ | 
|---|
|  |  |  | p{ | 
|---|
|  |  |  | color: #dddd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|