New file |
| | |
| | | import request from "@/common/untils/request.js" |
| | | |
| | | // 左侧菜单 |
| | | export function getMenuTreeByRole(data) { |
| | | return request({ |
| | | url: "/api/menu/getMenuTreeByRole", |
| | | method: "get", |
| | | data |
| | | }) |
| | | } |
| | |
| | | prod:`//${window.location.hostname}:9080`, |
| | | test:`//192.168.20.119:9080`, |
| | | // 想跳到本地启动的登录页的话需要把dev改成你本地项目路径 |
| | | dev: `//192.168.20.124:8081` |
| | | dev: `//192.168.8.111:8081` |
| | | } |
| | | |
| | | return loginPathMap[environmentType()] |
| | |
| | | } else if([2012,2013,2014,2015].includes(res.data.code)){ |
| | | if (isDev){ |
| | | alert("JWT失效") |
| | | window.location = getApsPage()+'/' |
| | | }else { |
| | | // JWT鉴权失效 跳转到登录页 |
| | | window.location = getApsPage()+'/login' |
| | |
| | | if (error.response.status === 401){ |
| | | if (isDev){ |
| | | alert("JWT失效") |
| | | window.location = getApsPage()+'/' |
| | | }else { |
| | | // JWT鉴权失效 跳转到登录页 |
| | | window.location = getApsPage()+'/login' |
| | |
| | | text-color="#bfcbd9" |
| | | active-text-color="#fff" |
| | | > |
| | | <el-submenu index="1"> |
| | | <el-submenu v-for="item in menus" :key="item.id" :index="item.id" > |
| | | <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> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {getMenuTreeByRole} from "@/api/menus/index" |
| | | export default { |
| | | name: "AppSidebar", |
| | | props: {}, |
| | | data() { |
| | | return {} |
| | | return { |
| | | menus:[] |
| | | } |
| | | }, |
| | | watch: { |
| | | // $route: { |
| | |
| | | }, |
| | | created() { |
| | | this.initNavMenu() |
| | | this.getMenuTreeByRole() |
| | | }, |
| | | methods: { |
| | | getMenuTreeByRole(){ |
| | | getMenuTreeByRole().then((res)=>{ |
| | | console.log(res.data.list,"crm菜单") |
| | | res.data.list.map((item)=>{ |
| | | if(item.systemType===2){ |
| | | this.menus=item.menus |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | // 监听路由 |
| | | initNavMenu() { |
| | | // console.log(this.$route.name) |
| | |
| | | const client = (resolve) => require(["@/views/client/index"], resolve) |
| | | const sales = (resolve) => require(["@/views/sales/index"], resolve) |
| | | const service = (resolve) => require(["@/views/service/index"], resolve) |
| | | const noData = (resolve) => require(["@/views/NoData/index"], resolve) |
| | | // const background = (resolve) => require(["@/views/backgroundConfig/index"], resolve) |
| | | |
| | | export const routes = [ |
| | | // 无数据页面 |
| | | { |
| | | path: "/", |
| | | name: "NoData", |
| | | meta: { |
| | | title: "", |
| | | auth: true, |
| | | }, |
| | | component: noData, |
| | | }, |
| | | { |
| | | path: "client", // 客户管理 |
| | | name: "client", |
New file |
| | |
| | | <template> |
| | | <d2-container> |
| | | <div class="content"> |
| | | <el-empty :image="require('@/assets/img/noJurisdiction.png')" description="您尚未获得访问权限。"> |
| | | <p>请您联系主账号登录访问控制,为您授予服务的相关权限。</p> |
| | | </el-empty> |
| | | </div> |
| | | </d2-container> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | export default { |
| | | name: "NoData", |
| | | components: { |
| | | }, |
| | | |
| | | computed: { |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | |
| | | }; |
| | | }, |
| | | mounted() {}, |
| | | methods: { |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | |
| | | // 显示列表 |
| | | .content { |
| | | width: 100%; |
| | | height:100%; |
| | | min-height: 300px; |
| | | overflow: hidden; |
| | | background:#fff; |
| | | padding:30px 0; |
| | | border-radius: 4px; |
| | | .el-empty{ |
| | | width: 100%; |
| | | height:calc(100% - 280px); |
| | | p{ |
| | | margin: 0; |
| | | font-size: 14px; |
| | | color: #909399; |
| | | } |
| | | } |
| | | } |
| | | |
| | | ::v-deep .el-empty__bottom{ |
| | | margin: 0 !important; |
| | | } |
| | | ::v-deep .el-empty__description{ |
| | | margin: 0 !important; |
| | | |
| | | } |
| | | </style> |
| | |
| | | productionSourceMap: false, // 如果你不需要生产环境的source map, 可以将其设置为false 以加速生产环境构建 |
| | | devServer: { |
| | | proxy: { |
| | | "/api/menu":{ |
| | | target: "http://192.168.20.119:8001", // http://192.168.20.119:8002 http://fai365.com:30150/ |
| | | // 建道本地环境 |
| | | // target: "http://192.168.20.118:8002", |
| | | ws: true, |
| | | changeOrigin: true |
| | | }, |
| | | "/api": { |
| | | target: "http://192.168.20.119:8002", // http://192.168.20.119:8002 http://fai365.com:30150/ |
| | | // 建道本地环境 |