首页 > 其他分享 >abp-vnext-pro 实战(一,如何增加菜单项)

abp-vnext-pro 实战(一,如何增加菜单项)

时间:2023-07-21 16:45:54浏览次数:36  
标签:vnext project name pro abp routes import options Tenant

1. 在前端的vben admin 目录新增菜单

直接在 src/router/routes/modules 内新增一个模块文件即可。不需要手动引入,放在src/router/routes/modules 内的文件会自动被加载。

import type { AppRouteModule } from '/@/router/types';
import { LAYOUT } from '/@/router/constant';
import { t } from '/@/hooks/web/useI18n';
const tenant: AppRouteModule = {
  path: '/crm',
  name: 'CRM',
  component: LAYOUT,
  meta: {
    orderNo: 40,
    icon: 'ant-design:contacts-outlined',
    title: t('routes.crm.module'),
    policy: 'AbpTenantManagement',
  },
  children: [
    {
      path: 'Tenant',
      name: 'Tenant',
      component: () => import('/@/views/tenants/Tenant.vue'),
      meta: {
        title: t('routes.crm.clientInfo'),
        icon: 'ant-design:switcher-filled',
        policy: 'AbpTenantManagement.Tenants',
      },
    },
        {
      path: 'Tenant',
      name: 'Tenant',
      component: () => import('/@/views/tenants/Tenant.vue'),
      meta: {
        title: t('routes.crm.clientInfo'),
        icon: 'ant-design:switcher-filled',
        policy: 'AbpTenantManagement.Tenants',
      },
    },
        {
      path: 'Tenant',
      name: 'Tenant',
      component: () => import('/@/views/tenants/Tenant.vue'),
      meta: {
        title: t('routes.crm.clientInfo'),
        icon: 'ant-design:switcher-filled',
        policy: 'AbpTenantManagement.Tenants',
      },
    },
  ],
};

export default tenant;

2. 菜单名字的本地化,t('routes.模块名字.变量名字') 来表示,

在vben28\src\locales\lang\zh-CN\routes\[模块名字].ts

export default {
  module: 'CRM企业版',
  clientInfo: '客户信息',
  name: '客户名称',
  code: '客户编号',
  industry: '所属行业',
  owner: '跟进人',
  contact: '客户联系人',
  contactTel: '客户联系电话',
  contactEmail: '客户邮件',
  project_name: '项目名称',
  project_progress: '进度',
  project_owner: '负责人',
  project_participant: '参与人',
  project_startDate: '开始日期',
  project_endDate: '结束日期',
  project_status: '项目状态',
};

3.  后端要对前端的菜单做权限控制,没有权限的就不能看到

 角色权限在Application.Contracts\Permissions 目录定义CRMPermissionDefinitionProvider.cs,CRMPermission.cs

在Domain.Shared\Localization目录定义CRMREsource.cs, 新建CRM目录和zh-Hans.json文件

在Domain.Shared\ERPDomainSharedModule.cs 文件里的ConfigureServices方法里增加

            Configure<AbpExceptionLocalizationOptions>(options => { options.MapCodeNamespace(ERPDomainSharedConsts.NameSpace, typeof(ERPResource)); });
            
            Configure<AbpLocalizationOptions>(options =>
            {
                options.Resources
                    .Add<CRMResource>(ERPDomainSharedConsts.DefaultCultureName)
                    .AddVirtualJson("/Localization/CRM");

                options.DefaultResourceType = typeof(CRMResource);
            });

            Configure<AbpExceptionLocalizationOptions>(options => { options.MapCodeNamespace(ERPDomainSharedConsts.NameSpace, typeof(CRMResource)); });

 

标签:vnext,project,name,pro,abp,routes,import,options,Tenant
From: https://www.cnblogs.com/zitjubiz/p/abp_next_pro_add_menu.html

相关文章

  • prometheus实战:
    一:安装部分:https://prometheus.io/download/###下载源码解压即可https://grafana.com/grafana/dashboards###搜索数据源为prometheus的这里下载了:prometheus、node_exporter、alertmanager、pushgateway同时机器需要安装dockeryuminstalldocker-ysystemctlstartdock......
  • 使用prometheus+grafana监控Linux和Mysql
    整个监控系统分为三部分:prometheus,grafana,xxxx_exporter(各种类型的数据采集器,在本例中就是node_exporter,mysqld_exporter)1、在主监控服务器上安装prometheus作为主服务2、在主监控服务器上安装grafana用于界面展示3、在需要监控的服务器安装xxxx_exporter用于采集数据并提供......
  • Prometheus监控redis
    创建redisPodapiVersion:apps/v1kind:Deploymentmetadata:name:redisnamespace:kube-systemannotations:prometheus.io/scrape:'true'spec:replicas:1selector:matchLabels:app:redistemplate:metadata:la......
  • Scrapy 部署错误:subprocess.CalledProcessError 以及解决方案
    最近在使用Scrapy和Scrapyd时,我遇到了一个关于subprocess.CalledProcessError的问题。在这篇博文中,我将描述这个错误、找出的原因以及最后的解决方案。错误描述在使用scrapyd-deploy命令部署我的Scrapy项目时,我遇到了如下的错误:subprocess.CalledProcessError:Comma......
  • nproc
    nproc打印可用的处理器单元数量。概要nproc[OPTION]...主要用途打印可用的处理器单元数量。选项--all打印已安装处理器的数量。--ignore=N如果可以的情况下,排除N个处理单元。--help显示帮助信息并退出。--version显示版本信息并退出。......
  • Mybatis属性配置示例(properties)
    属性(properties)这些属性可以在外部进行配置,并可以进行动态替换。既可以在典型的Java属性文件中配置这些属性,也可以在properties元素的子元素中设置。参考官网:https://mybatis.net.cn/configuration.html#properties首先创建数据库配置文件db.propertiesdriver=com.mysql.c......
  • SAP为销售订单生成包装建议的BAPI (Packing Proposal for Sales Order)
    关于装箱打包,网上大部分资料都是交货单相关的。最近要做销售订单的包装建议更新,没查到资料,于是调试看了VA02的代码,发现以下几个函数可以用于SO包装建议的更新: V51P_FILL_GT:用于填充一些销售订单的基本数据,比如订单号,行项目等,这一步不做的话,下一个函数会无法运行V51P_PACKING......
  • SketchUp Pro 2023 下载和安装教程
    SketchUpPro2023下载和安装教程下载链接123云盘:https://www.123pan.com/s/JyAKVv-NTXB.html安装教程演示操作系统:Windows11*安装前请关闭所有杀毒软件,避免报错1.解压【SketchUpPro2023.zip】 2.运行【Setup.exe】安装程序 3.点击【Next】 4.点击【Change.........
  • CF730I Olympiad in Programming and Sports
    想复杂了……这种分到两边的问题,考虑建立费用流模型,建立两个点\(A,B\)表示分到\(A\)的数或者分到\(B\)的数:\(S\toA\),流量\(p\),费用\(0\)。\(S\toB\),流量\(s\),费用\(0\)。\(A\toi\in[1,n]\),流量\(1\),费用\(a_i\)。\(B\toi\in[1,n]\),流量\(1\),费用\(b_i\)......
  • android.provider.MediaStore.Video.Media
    实现android.provider.MediaStore.Video.Media的步骤对于刚入行的小白开发者来说,实现android.provider.MediaStore.Video.Media可能会感到困惑。不用担心,本文将指导你完成这个任务。下面是实现该功能的步骤及相应的代码解释。步骤步骤描述1.导入所需的库2.创建查......