2180 lines
46 KiB
JavaScript
2180 lines
46 KiB
JavaScript
import _ from 'lodash';
|
||
import sha256 from 'crypto-js/sha256.js';
|
||
|
||
export const BasicFuncs = ['view', 'add', 'edit', 'del', 'export'];
|
||
export const BasicFuncsI18n = {
|
||
view: {
|
||
zhCn: '查看',
|
||
en: 'view',
|
||
},
|
||
add: {
|
||
zhCn: '新增',
|
||
en: 'add',
|
||
},
|
||
edit: {
|
||
zhCn: '编辑',
|
||
en: 'edit',
|
||
},
|
||
del: {
|
||
zhCn: '删除',
|
||
en: 'delete',
|
||
},
|
||
export: {
|
||
zhCn: '导出',
|
||
en: 'export',
|
||
},
|
||
shutdown: {
|
||
zhCn: '停止',
|
||
en: 'terminate',
|
||
},
|
||
};
|
||
|
||
export const ScopeFuncs = 'moduleFuncs';
|
||
export const ScopeApp = 'moduleApps';
|
||
export const ScopeRoute = 'moduleRoutes';
|
||
|
||
export const appList = [
|
||
{
|
||
name: 'spdmTaskList',
|
||
zhCn: '新增待办',
|
||
en: 'Pending Task',
|
||
pages: [
|
||
{
|
||
name: 'spdmTaskSponsor',
|
||
zhCn: '新增待办',
|
||
en: 'Pending Task',
|
||
path: '/spdm/task/sponsor',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Warning',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_ProjectProjectList',
|
||
zhCn: '项目列表',
|
||
en: 'Project List',
|
||
pages: [
|
||
{
|
||
name: 'spdmProjectProjectList',
|
||
zhCn: '项目列表',
|
||
en: 'Project List',
|
||
path: '/spdm/project/projectList',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-MessageBox',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_ProjectDashboard',
|
||
zhCn: '仿真看板',
|
||
en: 'Simulation Dashboard',
|
||
pages: [
|
||
{
|
||
name: 'spdmProjectDashboard',
|
||
zhCn: '仿真看板',
|
||
en: 'Simulation Dashboard',
|
||
path: '/spdm/project/dashboard',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-DataBoard',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
// {
|
||
// name: 'spdm_TaskConfirm',
|
||
// zhCn: '未分发的',
|
||
// en: 'I Confirmed',
|
||
// pages: [
|
||
// {
|
||
// name: 'spdmTaskConfirm',
|
||
// zhCn: '未分发的',
|
||
// en: 'I Confirmed',
|
||
// path: '/spdm/task/confirm',
|
||
// component: () => import('/@/spdm/views/index.vue'),
|
||
// meta: {
|
||
// icon: 'ele-DocumentChecked',
|
||
// },
|
||
// },
|
||
// ],
|
||
// },
|
||
{
|
||
name: 'spdm_TaskSend',
|
||
zhCn: '我分发的',
|
||
en: 'I Distributed',
|
||
pages: [
|
||
{
|
||
name: 'spdmTaskSend',
|
||
zhCn: '我分发的',
|
||
en: 'I Distributed',
|
||
path: '/spdm/task/send',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Message',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_TaskExecute',
|
||
zhCn: '我执行的',
|
||
en: 'I Executed',
|
||
pages: [
|
||
{
|
||
name: 'spdmTaskExecute',
|
||
zhCn: '我执行的',
|
||
en: 'I Executed',
|
||
path: '/spdm/task/execute',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-SetUp',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_TaskAttention',
|
||
zhCn: '我关注的',
|
||
en: 'I Attention',
|
||
pages: [
|
||
{
|
||
name: 'spdmTaskAttention',
|
||
zhCn: '我关注的',
|
||
en: 'I Attention',
|
||
path: '/spdm/task/attention',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Bell',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_TaskAll',
|
||
zhCn: '所有任务',
|
||
en: 'All Tasks',
|
||
pages: [
|
||
{
|
||
name: 'spdmTaskAll',
|
||
zhCn: '所有任务',
|
||
en: 'All Tasks',
|
||
path: '/spdm/task/all',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-DocumentCopy',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_TaskExecution',
|
||
zhCn: '仿真执行',
|
||
en: 'Task Execution',
|
||
pages: [
|
||
{
|
||
name: 'spdmTaskExecution',
|
||
zhCn: '仿真执行',
|
||
en: 'Task Execution',
|
||
path: '/spdm/task/execution',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Operation',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_DataOverview',
|
||
zhCn: '数据总览',
|
||
en: 'Data Overview',
|
||
pages: [
|
||
{
|
||
name: 'spdmDataOverview',
|
||
zhCn: '数据总览',
|
||
en: 'Data Overview',
|
||
path: '/spdm/data/overview',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-DataAnalysis',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_DataAnalysis',
|
||
zhCn: '数据查询',
|
||
en: 'Data Query',
|
||
pages: [
|
||
{
|
||
name: 'spdmDataAnalysis',
|
||
zhCn: '数据查询',
|
||
en: 'Data Query',
|
||
path: '/spdm/data/analysis',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Search',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_DataPermission',
|
||
zhCn: '数据权限',
|
||
en: 'Data Permission',
|
||
pages: [
|
||
{
|
||
name: 'spdmDataPermission',
|
||
zhCn: '数据权限',
|
||
en: 'Data Permission',
|
||
path: '/spdm/data/permission',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Warning',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SimulationProcess',
|
||
zhCn: '仿真流程',
|
||
en: 'Simulation Process',
|
||
pages: [
|
||
{
|
||
name: 'spdmSimulationProcess',
|
||
zhCn: '仿真流程',
|
||
en: 'Simulation Process',
|
||
path: '/spdm/simulation/process',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-FolderChecked',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemApplication',
|
||
zhCn: '应用中心',
|
||
en: 'Application Center',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemApplication',
|
||
zhCn: '应用中心',
|
||
en: 'Application Center',
|
||
path: '/spdm/simulation/application',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Cellphone',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterCondition',
|
||
zhCn: '仿真工况库',
|
||
en: 'Condition Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterCondition',
|
||
zhCn: '仿真工况库',
|
||
en: 'Condition Library',
|
||
path: '/spdm/competenceCenter/condition',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Suitcase',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterKnowledge',
|
||
zhCn: '仿真标准库',
|
||
en: 'Knowledge Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterKnowledge',
|
||
zhCn: '仿真标准库',
|
||
en: 'Knowledge Library',
|
||
path: '/spdm/competenceCenter/knowledge',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Memo',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterParameter',
|
||
zhCn: '仿真参数库',
|
||
en: 'Parameter Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterParameter',
|
||
zhCn: '仿真参数库',
|
||
en: 'Parameter Library',
|
||
path: '/spdm/competenceCenter/parameter',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Tickets',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterReport',
|
||
zhCn: '报告模板库',
|
||
en: 'Report Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterReport',
|
||
zhCn: '报告模板库',
|
||
en: 'Report Library',
|
||
path: '/spdm/competenceCenter/report',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Edit',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterAnimation',
|
||
zhCn: '仿真动画库',
|
||
en: 'Animation Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterAnimation',
|
||
zhCn: '仿真动画库',
|
||
en: 'Animation Library',
|
||
path: '/spdm/competenceCenter/animation',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-VideoCamera',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterRobot',
|
||
zhCn: '机器人库',
|
||
en: 'Robot Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterRobot',
|
||
zhCn: '机器人库',
|
||
en: 'Robot Library',
|
||
path: '/spdm/competenceCenter/robot',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Notebook',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterIndustrialDesign',
|
||
zhCn: '工业设计库',
|
||
en: 'Industrial Design Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterIndustrialDesign',
|
||
zhCn: '工业设计库',
|
||
en: 'Industrial Design Library',
|
||
path: '/spdm/competenceCenter/industrialDesign',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Memo',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_CompetenceCenterToleranceAnalysis',
|
||
zhCn: '公差分析库',
|
||
en: 'Tolerance Analysis Library',
|
||
pages: [
|
||
{
|
||
name: 'spdmCompetenceCenterToleranceAnalysis',
|
||
zhCn: '公差分析库',
|
||
en: 'Tolerance Analysis Library',
|
||
path: '/spdm/competenceCenter/toleranceAnalysis',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-DataAnalysis',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemStorage',
|
||
zhCn: '存储管理',
|
||
en: 'Data Storage',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemStorage',
|
||
zhCn: '存储管理',
|
||
en: 'Data Storage',
|
||
path: '/spdm/system/storage',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Wallet',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemDictionary',
|
||
zhCn: '数据字典',
|
||
en: 'Data Dictionary',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemDictionary',
|
||
zhCn: '数据字典',
|
||
en: 'Data Dictionary',
|
||
path: '/spdm/system/dictionary',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Collection',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemConfiguration',
|
||
zhCn: '业务配置',
|
||
en: 'Configuration Management',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemConfiguration',
|
||
zhCn: '业务配置',
|
||
en: 'Configuration Management',
|
||
path: '/spdm/system/configuration',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Setting',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemPermission',
|
||
zhCn: '操作权限',
|
||
en: 'Permission',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemPermission',
|
||
zhCn: '操作权限',
|
||
en: 'Permission',
|
||
path: '/spdm/system/permission',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Lock',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemLogs',
|
||
zhCn: '日志管理',
|
||
en: 'Logs',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemLogs',
|
||
zhCn: '日志管理',
|
||
en: 'Logs',
|
||
path: '/spdm/system/logs',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Link',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemDynamicTable',
|
||
zhCn: '动态表格',
|
||
en: 'Dynamic Table',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemDynamicTable',
|
||
zhCn: '动态表格',
|
||
en: 'Dynamic Table',
|
||
path: '/spdm/system/dynamicTable',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Document',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'spdm_SystemRecycleBin',
|
||
zhCn: '回收站',
|
||
en: 'Recycle Bin',
|
||
pages: [
|
||
{
|
||
name: 'spdmSystemRecycleBin',
|
||
zhCn: '回收站',
|
||
en: 'Recycle Bin',
|
||
path: '/spdm/system/recycleBin',
|
||
component: () => import('/@/spdm/views/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Delete',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'project',
|
||
zhCn: '项目管理',
|
||
en: 'Project Management',
|
||
pages: [
|
||
{
|
||
name: 'projectList',
|
||
zhCn: '项目列表',
|
||
en: 'Project List',
|
||
path: '/project/list',
|
||
component: () => import('/@/views/honeycom-pm/project/project_list.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-diannao1',
|
||
},
|
||
},
|
||
{
|
||
name: 'projectDetail',
|
||
zhCn: '项目详情',
|
||
en: 'Project Detail',
|
||
path: '/project/detail',
|
||
component: () => import('/@/views/honeycom-pm/task/index.vue'),
|
||
meta: {
|
||
isKeepAlive: true,
|
||
parentName: 'projectList',
|
||
},
|
||
},
|
||
{
|
||
name: 'projectSet',
|
||
zhCn: '项目设置',
|
||
en: 'Project Set',
|
||
path: '/project/set',
|
||
component: () => import('/@/views/honeycom-pm/project/set/projectSet.vue'),
|
||
meta: {
|
||
parentName: 'projectDetail',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'task',
|
||
zhCn: '审批流程',
|
||
en: 'Task Center',
|
||
functions: ['shutdown'],
|
||
pages: [
|
||
{
|
||
name: 'taskPending',
|
||
zhCn: '待办任务',
|
||
en: 'Pending Task',
|
||
path: '/task/pending',
|
||
component: () => import('/@/views/flow/task/pending.vue'),
|
||
meta: {
|
||
icon: 'fa fa-flag-checkered',
|
||
},
|
||
},
|
||
// {
|
||
// name: 'taskTransfer',
|
||
// zhCn: '转办任务',
|
||
// en: 'Transfer Task',
|
||
// path: '/task/transfer',
|
||
// component: () => import('/@/views/flow/task/transfer.vue'),
|
||
// meta: {
|
||
// icon: 'fa fa-share-square',
|
||
// },
|
||
// },
|
||
// {
|
||
// name: 'taskStarted',
|
||
// zhCn: '发起任务',
|
||
// en: 'Started Task',
|
||
// path: '/task/started',
|
||
// component: () => import('/@/views/flow/task/started.vue'),
|
||
// meta: {
|
||
// icon: 'fa fa-plane',
|
||
// },
|
||
// },
|
||
// {
|
||
// name: 'taskCc',
|
||
// zhCn: '抄送任务',
|
||
// en: 'CC Task',
|
||
// path: '/task/cc',
|
||
// component: () => import('/@/views/flow/task/cc.vue'),
|
||
// meta: {
|
||
// icon: 'fa fa-arrow-circle-right',
|
||
// },
|
||
// },
|
||
{
|
||
name: 'taskCompleted',
|
||
zhCn: '已完成任务',
|
||
en: 'Completed Task',
|
||
path: '/task/completed',
|
||
component: () => import('/@/views/flow/task/completed.vue'),
|
||
meta: {
|
||
icon: 'fa fa-hand-o-right',
|
||
},
|
||
},
|
||
{
|
||
name: 'flowGroup',
|
||
zhCn: '流程模板管理',
|
||
en: 'Flow List',
|
||
path: '/flow/group',
|
||
component: () => import('/@/views/flow/group/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-gongju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'form_template',
|
||
zhCn: '表单管理',
|
||
en: 'Form Management',
|
||
pages: [
|
||
{
|
||
name: 'formTemplateList',
|
||
zhCn: '表单列表',
|
||
en: 'Form Template List',
|
||
path: '/form-template/list',
|
||
component: () => import('/@/views/form/template/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-putong',
|
||
},
|
||
},
|
||
{
|
||
name: 'formTemplateVersion',
|
||
zhCn: '表单版本',
|
||
en: 'Form Template Version',
|
||
path: '/form-template/version',
|
||
component: () => import('/@/views/form/template/version.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-barcode-qr',
|
||
parentName: `formTemplateList`,
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'flow_template',
|
||
zhCn: '流程模板管理',
|
||
en: 'Flow Template Management',
|
||
pages: [
|
||
// {
|
||
// name: 'flowGroup',
|
||
// zhCn: '流程列表',
|
||
// en: 'Flow List',
|
||
// path: '/flow/group',
|
||
// component: () => import('/@/views/flow/group/index.vue'),
|
||
// meta: {
|
||
// icon: 'iconfont icon-gongju',
|
||
// },
|
||
// },
|
||
{
|
||
name: 'flowCreate',
|
||
zhCn: '创建流程',
|
||
en: 'Create Flow Template',
|
||
path: '/flow/create',
|
||
component: () => import('/@/views/flow/create/all.vue'),
|
||
meta: {
|
||
icon: 'fa fa-arrow-circle-right',
|
||
parentName: 'flowGroup',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'flow_initiate',
|
||
zhCn: '发起流程',
|
||
en: 'Initiate Flow',
|
||
pages: [
|
||
{
|
||
name: 'flowInitiate',
|
||
zhCn: '发起流程',
|
||
en: 'Initiate Flow',
|
||
path: '/flow/initiate',
|
||
component: () => import('/@/views/flow/list/index.vue'),
|
||
meta: {
|
||
icon: 'fa fa-play',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'screen_billboard',
|
||
zhCn: '大屏看板',
|
||
en: 'Screen Billboard',
|
||
pages: [
|
||
{
|
||
name: 'screenBillboardList',
|
||
zhCn: '大屏看板列表',
|
||
en: 'Screen Billboard List',
|
||
path: '/screenBillboard/list',
|
||
component: () => import('/@/views/tools/data/report.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_file',
|
||
zhCn: '文件管理',
|
||
en: 'File Management',
|
||
pages: [
|
||
{
|
||
name: 'fileList',
|
||
zhCn: '文件列表',
|
||
en: 'File List',
|
||
path: '/file/list',
|
||
component: () => import('/@/views/admin/file/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Files',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'data_report',
|
||
zhCn: '数据报表',
|
||
en: 'Data Report',
|
||
pages: [
|
||
{
|
||
name: 'dataReportList',
|
||
zhCn: '数据报表列表',
|
||
en: 'Data Report List',
|
||
path: '/data-report/list',
|
||
component: () => import('/@/views/tools/data/jimu.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-ico_shuju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'tenant_staff',
|
||
zhCn: '员工管理',
|
||
en: 'Staff Management',
|
||
pages: [
|
||
{
|
||
name: 'organizationStaffList',
|
||
zhCn: '员工列表',
|
||
en: 'Staff List',
|
||
path: '/organization/staff',
|
||
component: () => import('/@/views/admin/system/user/index.vue'),
|
||
meta: {
|
||
icon: 'ele-User',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'tenant_role',
|
||
zhCn: '角色管理',
|
||
en: 'Role Management',
|
||
pages: [
|
||
{
|
||
name: 'organizationRoleList',
|
||
zhCn: '角色列表',
|
||
en: 'Role List',
|
||
path: '/organization/role',
|
||
component: () => import('/@/views/admin/system/role/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-gerenzhongxin',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'tenant_dept',
|
||
zhCn: '部门管理',
|
||
en: 'Dept Management',
|
||
pages: [
|
||
{
|
||
name: 'organizationDeptList',
|
||
zhCn: '部门列表',
|
||
en: 'Dept List',
|
||
path: '/organization/dept',
|
||
component: () => import('/@/views/admin/system/dept/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-zidingyibuju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'tenant_post',
|
||
zhCn: '岗位管理',
|
||
en: 'Post Management',
|
||
pages: [
|
||
{
|
||
name: 'organizationPostList',
|
||
zhCn: '岗位列表',
|
||
en: 'Post List',
|
||
path: '/organization/post',
|
||
component: () => import('/@/views/admin/system/sysPost/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon--chaifenhang',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'tenant_invite',
|
||
zhCn: '邀请管理',
|
||
en: 'Invite Management',
|
||
pages: [
|
||
{
|
||
name: 'organizationInviteList',
|
||
zhCn: '邀请列表',
|
||
en: 'Invite List',
|
||
path: '/organization/invite',
|
||
component: () => import('/@/views/home/invite/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shouye_dongtaihui',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'platform_user',
|
||
zhCn: '用户管理',
|
||
en: 'User Management',
|
||
pages: [
|
||
{
|
||
name: 'platformUser',
|
||
zhCn: '用户管理',
|
||
en: 'User Management',
|
||
path: '/platform/user',
|
||
component: () => import('/@/views/admin/sysAccount/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Avatar',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'platform_tenant',
|
||
zhCn: '租户管理',
|
||
en: 'Tenant Management',
|
||
pages: [
|
||
{
|
||
name: 'platformTenant',
|
||
zhCn: '租户管理',
|
||
en: 'Tenant Management',
|
||
path: '/platform/tenant',
|
||
component: () => import('/@/views/admin/system/tenant/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuxingtu',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'platform_package',
|
||
zhCn: '套餐管理',
|
||
en: 'Package Management',
|
||
pages: [
|
||
{
|
||
name: 'platformPackage',
|
||
zhCn: '套餐管理',
|
||
en: 'Package Management',
|
||
path: '/platform/package',
|
||
component: () => import('/@/views/admin/system/package/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Box',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_cache',
|
||
zhCn: '缓存管理',
|
||
en: 'Cache Management',
|
||
pages: [
|
||
{
|
||
name: 'toolsCache',
|
||
zhCn: '缓存管理',
|
||
en: 'Cache Management',
|
||
path: '/tools/cache',
|
||
component: () => import('/@/views/tools/data/cache.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_quartz',
|
||
zhCn: '定时任务',
|
||
en: 'Quartz Management',
|
||
pages: [
|
||
{
|
||
name: 'toolsQuartz',
|
||
zhCn: '定时任务',
|
||
en: 'Quartz Management',
|
||
path: '/tools/quartz',
|
||
component: () => import('/@/views/tools/job-manage/index.vue'),
|
||
meta: {
|
||
icon: 'ele-AlarmClock',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_message',
|
||
zhCn: '站内信管理',
|
||
en: 'Message Management',
|
||
pages: [
|
||
{
|
||
name: 'toolsMessage',
|
||
zhCn: '站内信管理',
|
||
en: 'Message Management',
|
||
path: '/tools/message',
|
||
component: () => import('/@/views/tools/message/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-zhongduancanshuchaxun',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'aisu_upload',
|
||
zhCn: '爱数上传',
|
||
en: 'Aisu Upload',
|
||
pages: [
|
||
{
|
||
name: 'aisuUpload',
|
||
zhCn: '爱数上传',
|
||
en: 'Aisu Upload',
|
||
path: '/tools/aisu-upload',
|
||
component: () => import('/@/views/tools/aisuUpload/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-zhongduancanshuchaxun',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'log_audit',
|
||
zhCn: '审计日志',
|
||
en: 'Audit Log',
|
||
pages: [
|
||
{
|
||
name: 'logAudit',
|
||
zhCn: '审计日志',
|
||
en: 'Audit Log',
|
||
path: '/log/audit',
|
||
component: () => import('/@/views/admin/audit/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-biaodan',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'log_operation',
|
||
zhCn: '操作日志',
|
||
en: 'Audit Log',
|
||
pages: [
|
||
{
|
||
name: 'logOperation',
|
||
zhCn: '操作日志',
|
||
en: 'Operation Log',
|
||
path: '/log/operation',
|
||
component: () => import('/@/views/admin/log/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-jinridaiban',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'log_hrsync',
|
||
zhCn: '同步日志',
|
||
en: 'Synchronous Log',
|
||
pages: [
|
||
{
|
||
name: 'logHrsync',
|
||
zhCn: '同步日志',
|
||
en: 'Synchronous Log',
|
||
path: '/log/hrsync',
|
||
component: () => import('/@/views/admin/log/sync-index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-jinridaiban',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_route',
|
||
zhCn: '路由管理',
|
||
en: 'Route Management',
|
||
pages: [
|
||
{
|
||
name: 'toolsRoute',
|
||
zhCn: '路由管理',
|
||
en: 'Route Management',
|
||
path: '/tools/route',
|
||
component: () => import('/@/views/tools/route/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-crew_feature',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_dict',
|
||
zhCn: '字典管理',
|
||
en: 'Dictionary Management',
|
||
pages: [
|
||
{
|
||
name: 'sysDict',
|
||
zhCn: '字典管理',
|
||
en: 'Dictionary Management',
|
||
path: '/system/dict',
|
||
component: () => import('/@/views/admin/dict/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-zhongduancanshuchaxun',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_param',
|
||
zhCn: '参数管理',
|
||
en: 'Parameter Management',
|
||
pages: [
|
||
{
|
||
name: 'systemParam',
|
||
zhCn: '参数管理',
|
||
en: 'Parameter Management',
|
||
path: '/system/param',
|
||
component: () => import('/@/views/admin/param/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-wenducanshu-05',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_client',
|
||
zhCn: '终端管理',
|
||
en: 'Client Management',
|
||
pages: [
|
||
{
|
||
name: 'systemClient',
|
||
zhCn: '终端管理',
|
||
en: 'Client Management',
|
||
path: '/system/client',
|
||
component: () => import('/@/views/admin/client/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-gongju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_social',
|
||
zhCn: '社交管理',
|
||
en: 'Social Management',
|
||
pages: [
|
||
{
|
||
name: 'systemSocial',
|
||
zhCn: '社交管理',
|
||
en: 'Social Management',
|
||
path: '/system/social',
|
||
component: () => import('/@/views/admin/social/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-quanxian',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_token',
|
||
zhCn: '令牌管理',
|
||
en: 'Dictionary Management',
|
||
pages: [
|
||
{
|
||
name: 'systemToken',
|
||
zhCn: '令牌管理',
|
||
en: 'Token Management',
|
||
path: '/system/token',
|
||
component: () => import('/@/views/admin/token/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Key',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'system_region',
|
||
zhCn: '区域管理',
|
||
en: 'Region Management',
|
||
pages: [
|
||
{
|
||
name: 'systemRegion',
|
||
zhCn: '区域管理',
|
||
en: 'Region Management',
|
||
path: '/system/region',
|
||
component: () => import('/@/views/admin/sysArea/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-neiqianshujuchucun',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_product',
|
||
zhCn: '日化产品管理',
|
||
en: 'Product Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunProductList',
|
||
zhCn: '产品列表',
|
||
en: 'Product List',
|
||
path: '/meiyun/product/list',
|
||
component: () => import('/@/views/meiyun/product/list.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
},
|
||
},
|
||
{
|
||
name: 'meiyunProductDetail',
|
||
zhCn: '产品详情',
|
||
en: 'Product Detail',
|
||
path: '/meiyun/product/detail',
|
||
component: () => import('/@/views/meiyun/product/detail.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
parentName: 'meiyunProductList',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_formula',
|
||
zhCn: '配方管理',
|
||
en: 'Formula Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunFormulaList',
|
||
zhCn: '配方列表',
|
||
en: 'Formula List',
|
||
path: '/meiyun/formula/index',
|
||
component: () => import('/@/views/meiyun/formula/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-AIshiyanshi',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_packingReceptacle',
|
||
zhCn: '包材管理',
|
||
en: 'Packing Receptacle Management',
|
||
},
|
||
{
|
||
name: 'meiyun_formulaInnerStandard',
|
||
zhCn: '配方内控标准管理',
|
||
en: 'Formula Inner Standard Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunFormulaInnerStandardList',
|
||
zhCn: '配方内控标准列表',
|
||
en: 'Formula Inner Standard List',
|
||
path: '/meiyun/formulaInnerStandard/index',
|
||
component: () => import('/@/views/meiyun/formulaInnerStandard/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-AIshiyanshi',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_formulaMakeupDemo',
|
||
zhCn: '配方打样',
|
||
en: 'Formula Making Samples',
|
||
pages: [
|
||
{
|
||
name: 'meiyunFormulaMakeupDemo',
|
||
zhCn: '配方打样',
|
||
en: 'Formula Making Samples',
|
||
path: '/meiyun/formulaMakeupDemo/index',
|
||
component: () => import('/@/views/meiyun/formulaMakeupDemo/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-AIshiyanshi',
|
||
},
|
||
},
|
||
{
|
||
name: 'meiyunFormulaMakeupDemoDetail',
|
||
zhCn: '配方打样详情',
|
||
en: 'Formula Making Samples Detail',
|
||
path: '/meiyun/formulaMakeupDemoDetail/index',
|
||
component: () => import('/@/views/meiyun/formulaMakeupDemoDetail/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-bolangneng',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_formulaSample',
|
||
zhCn: '配方样品',
|
||
en: 'Formula Samples',
|
||
},
|
||
{
|
||
name: 'meiyun_formulaMakeupDemoFile',
|
||
zhCn: '配方打样附件',
|
||
en: 'Formula Making Samples Files',
|
||
},
|
||
{
|
||
name: 'meiyun_formulaSampleTestItem',
|
||
zhCn: '配方样品测试报告',
|
||
en: 'Formula Samples Test Items',
|
||
},
|
||
{
|
||
name: 'meiyun_formulaComparison',
|
||
zhCn: '配方对比',
|
||
en: 'Formula Comparison',
|
||
pages: [
|
||
{
|
||
name: 'meiyunFormulaComparison',
|
||
zhCn: '配方对比',
|
||
en: 'Formula Comparison',
|
||
path: '/meiyun/formulaComparison/index',
|
||
component: () => import('/@/views/meiyun/formulaComparison/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-AIshiyanshi',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_sampleTesting',
|
||
zhCn: '样品测试',
|
||
en: 'Sample Testing',
|
||
pages: [
|
||
{
|
||
name: 'meiyunSampleTestingList',
|
||
zhCn: '样品测试',
|
||
en: 'Sample Testing',
|
||
path: '/meiyun/sampleTesting/list',
|
||
component: () => import('/@/views/meiyun/sampleTesting/list.vue'),
|
||
meta: {
|
||
icon: 'mdi mdi-contacts',
|
||
},
|
||
},
|
||
{
|
||
name: 'meiyunSampleTestingDetail',
|
||
zhCn: '样品测试详情',
|
||
en: 'Sample Testing Detail',
|
||
path: '/meiyun/sampleTesting/detail',
|
||
component: () => import('/@/views/meiyun/sampleTesting/detail.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
parentName: 'meiyunSampleTestingList',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_packMaterialProofing',
|
||
zhCn: '包材打样',
|
||
en: 'Pack Material Proofing',
|
||
pages: [
|
||
{
|
||
name: 'meiyunPackMaterialProofing',
|
||
zhCn: '包材打样',
|
||
en: 'Pack Material Proofing',
|
||
path: '/meiyun/packMaterialProofing/index',
|
||
component: () => import('/@/views/meiyun/packMaterialProofing/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Box',
|
||
},
|
||
},
|
||
{
|
||
name: 'meiyunPackMaterialProofingDetail',
|
||
zhCn: '包材打样详情',
|
||
en: 'Pack Material Proofing Detail',
|
||
path: '/meiyun/packMaterialProofingDetail/index',
|
||
component: () => import('/@/views/meiyun/packMaterialProofingDetail/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuaxin',
|
||
parentName: 'meiyunPackMaterialProofing',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_packMaterialFile',
|
||
zhCn: '包材打样附件',
|
||
en: 'Pack Material Proofing Files',
|
||
},
|
||
{
|
||
name: 'meiyun_packMaterialSample',
|
||
zhCn: '包材样品',
|
||
en: 'Pack Material Samples',
|
||
},
|
||
{
|
||
name: 'meiyun_packageSample',
|
||
zhCn: '包装样品',
|
||
en: 'Package Samples',
|
||
},
|
||
{
|
||
name: 'meiyun_material',
|
||
zhCn: '原料管理',
|
||
en: 'Material Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunMaterialList',
|
||
zhCn: '原料列表',
|
||
en: 'Material List',
|
||
path: '/meiyun/material/index',
|
||
component: () => import('/@/views/meiyun/material/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuxingtu',
|
||
},
|
||
},
|
||
{
|
||
name: 'meiyunMaterialDetail',
|
||
zhCn: '原料详情',
|
||
en: 'Material Detail',
|
||
path: '/meiyun/material/detail',
|
||
component: () => import('/@/views/meiyun/material/detail.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuxingtu',
|
||
parentName: 'meiyunMaterialList',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_manufacturer',
|
||
zhCn: '生产商管理',
|
||
en: 'Manufacturer Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunManufacturerList',
|
||
zhCn: '生产商列表',
|
||
en: 'Manufacturer List',
|
||
path: '/meiyun/manufacturer',
|
||
component: () => import('/@/views/meiyun/supplier/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-icon-',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_supplier',
|
||
zhCn: '供应商管理',
|
||
en: 'Supplier Management',
|
||
pages: [
|
||
{
|
||
name: 'supplierList',
|
||
zhCn: '供应商列表',
|
||
en: 'Supplier List',
|
||
path: '/meiyun/supplier',
|
||
component: () => import('/@/views/meiyun/supplier/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-gerenzhongxin',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_formulation_review',
|
||
zhCn: '法规核查',
|
||
en: 'Formulation Review',
|
||
pages: [
|
||
{
|
||
name: 'meiyunFormulationReview',
|
||
zhCn: '法规核查',
|
||
en: 'Formulation Review',
|
||
path: '/meiyun/honeycom-cm/cosmetics/formulation-review/List',
|
||
component: () => import('/@/views/meiyun/honeycom-cm/cosmetics/formulation-review/List.vue'),
|
||
meta: {
|
||
icon: 'mdi mdi-road',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_packing',
|
||
zhCn: '包材列表',
|
||
en: 'Packing List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunPackingList',
|
||
zhCn: '包材列表',
|
||
en: 'Packing List',
|
||
path: '/meiyun/packing/index',
|
||
component: () => import('/@/views/meiyun/packing/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shouye_dongtaihui',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
|
||
{
|
||
name: 'meiyun_qmsFileManage',
|
||
zhCn: 'QMS文件管理',
|
||
en: 'QMS File Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunQmsFileManage',
|
||
zhCn: 'QMS文件管理',
|
||
en: 'QMS File Management',
|
||
path: '/meiyun/qmsFileManage/index',
|
||
component: () => import('/@/views/meiyun/qmsFileManage/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-quanjushezhi_o',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_implementationStandards',
|
||
zhCn: '化妆品执行标准',
|
||
en: 'Implementation Standards',
|
||
pages: [
|
||
{
|
||
name: 'meiyunImplementationStandards',
|
||
zhCn: '化妆品执行标准',
|
||
en: 'Implementation Standards',
|
||
path: '/meiyun/implementationStandards/index',
|
||
component: () => import('/@/views/meiyun/implementationStandards/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Notebook',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_riskySubstances',
|
||
zhCn: '风险物质管理',
|
||
en: 'Risky Substances Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunRiskySubstancesList',
|
||
zhCn: '风险物质列表',
|
||
en: 'Risky Substances List',
|
||
path: '/meiyun/baseData/riskySubstances/index',
|
||
component: () => import('/@/views/meiyun/baseData/riskySubstances/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Notebook',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_toxicologyDatabase',
|
||
zhCn: '毒理数据',
|
||
en: 'Toxicology Database',
|
||
pages: [
|
||
{
|
||
name: 'meiyunToxicologyDatabase',
|
||
zhCn: '毒理数据',
|
||
en: 'Toxicology Database',
|
||
path: '/meiyun/honeycom-cm/cosmetics/toxicology-database/regulation/index',
|
||
component: () => import('/@/views/meiyun/honeycom-cm/cosmetics/toxicology-database/regulation/index.vue'),
|
||
meta: {
|
||
icon: 'mdi mdi-cone',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inciForbidden_chemistry',
|
||
zhCn: '化妆品禁用原料目录',
|
||
en: 'INCI Forbidden List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciForbiddenChemistryList',
|
||
zhCn: '化妆品禁用原料目录',
|
||
en: 'INCI Forbidden List',
|
||
path: '/meiyun/inciForbidden/chemistry',
|
||
component: () => import('/@/views/meiyun/inciForbidden/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Chicken',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inciForbidden_organism',
|
||
zhCn: '化妆品禁用植(动)物原料目录',
|
||
en: 'INCI Forbidden List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciForbiddenOrganismList',
|
||
zhCn: '化妆品禁用植(动)物原料目录',
|
||
en: 'INCI Forbidden List',
|
||
path: '/meiyun/inciForbidden/organism',
|
||
component: () => import('/@/views/meiyun/inciForbidden/index.vue'),
|
||
meta: {
|
||
icon: 'ele-HelpFilled',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inciRestricted_ordinary',
|
||
zhCn: '化妆品限用原料目录(表3)',
|
||
en: 'INCI Restricted List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciRestrictedOrdinaryList',
|
||
zhCn: '化妆品限用原料目录(表3)',
|
||
en: 'INCI Restricted List',
|
||
path: '/meiyun/inciRestricted/ordinary',
|
||
component: () => import('/@/views/meiyun/inciRestricted/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-crew_feature',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inciRestricted_preservative',
|
||
zhCn: '化妆品准用防腐剂(表4)',
|
||
en: 'INCI Restricted List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciRestrictedPreservativeList',
|
||
zhCn: '化妆品准用防腐剂(表4)',
|
||
en: 'INCI Restricted List',
|
||
path: '/meiyun/inciRestricted/preservative',
|
||
component: () => import('/@/views/meiyun/inciRestricted/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shidu',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inciRestricted_sunscreen',
|
||
zhCn: '化妆品准用防晒剂(表5)',
|
||
en: 'INCI Restricted List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciRestrictedSunscreenList',
|
||
zhCn: '化妆品准用防晒剂(表5)',
|
||
en: 'INCI Restricted List',
|
||
path: '/meiyun/inciRestricted/sunscreen',
|
||
component: () => import('/@/views/meiyun/inciRestricted/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-zhongyingwenyuyan',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_colorant',
|
||
zhCn: '化妆品准用着色剂(表6)',
|
||
en: 'Colorant List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunColorantList',
|
||
zhCn: '化妆品准用着色剂(表6)',
|
||
en: 'Colorant List',
|
||
path: '/meiyun/colorant',
|
||
component: () => import('/@/views/meiyun/colorant/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Expand',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inciRestricted_hairDye',
|
||
zhCn: '化妆品准用染发剂(表7)',
|
||
en: 'INCI Restricted List',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciRestrictedHairDyeList',
|
||
zhCn: '化妆品准用染发剂(表7)',
|
||
en: 'INCI Restricted List',
|
||
path: '/meiyun/inciRestricted/hairDye',
|
||
component: () => import('/@/views/meiyun/inciRestricted/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-gongju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_standardItems',
|
||
zhCn: '执行标准明细',
|
||
en: 'Standard Items',
|
||
pages: [
|
||
{
|
||
name: 'meiyunStandardItemsList',
|
||
zhCn: '执行标准明细',
|
||
en: 'Standard Items',
|
||
path: '/meiyun/standardItems',
|
||
component: () => import('/@/views/meiyun/standardItems/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-bolangneng',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inci',
|
||
zhCn: 'INCI管理',
|
||
en: 'INCI Management',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInciList',
|
||
zhCn: 'INCI管理',
|
||
en: 'INCI Management',
|
||
path: '/meiyun/inci',
|
||
component: () => import('/@/views/meiyun/inci/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Apple',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_inStandardCheckItem',
|
||
zhCn: '配方内控检测项目',
|
||
en: 'Inner Standard Check Item',
|
||
pages: [
|
||
{
|
||
name: 'meiyunInnerStandardCheckItemList',
|
||
zhCn: '配方内控检测项目',
|
||
en: 'Inner Standard Check Item',
|
||
path: '/meiyun/innerStandardCheckItem',
|
||
component: () => import('/@/views/meiyun/innerStandardCheckItem/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-bolangnengshiyanchang',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'meiyun_qmsVerificationMetric',
|
||
zhCn: 'QMS检测指标',
|
||
en: 'QMS Verification Metric',
|
||
pages: [
|
||
{
|
||
name: 'meiyunQmsVerificationMetricList',
|
||
zhCn: 'QMS检测指标',
|
||
en: 'QMS Verification Metric',
|
||
path: '/meiyun/qmsVerificationMetric',
|
||
component: () => import('/@/views/meiyun/qmsVerificationMetric/index.vue'),
|
||
meta: {
|
||
icon: 'ele-Fold',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
|
||
{
|
||
name: 'meiyun_qmsStandardDocument',
|
||
zhCn: 'QMS标准文档',
|
||
en: 'QMS Standard Document',
|
||
pages: [
|
||
{
|
||
name: 'meiyunQmsStandardDocument',
|
||
zhCn: 'QMS标准文档',
|
||
en: 'QMS Standard Document',
|
||
path: '/meiyun/qmsStandardDocument',
|
||
component: () => import('/@/views/meiyun/qmsStandardDocument/index.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuxing',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
|
||
// {
|
||
// path: '/message/config',
|
||
// name: 'moduleRoutes.messageConfig',
|
||
// component: () => import('/@/views/message/config.vue'),
|
||
// meta: {icon: 'iconfont icon-shuju'},
|
||
// },
|
||
// {
|
||
// path: '/message/list',
|
||
// name: 'moduleRoutes.messageList',
|
||
// component: () => import('/@/views/message/list.vue'),
|
||
// meta: {icon: 'iconfont icon-shuju'},
|
||
// },
|
||
// {
|
||
// path: '/message/detail',
|
||
// name: 'moduleRoutes.messageDetail',
|
||
// component: () => import('/@/views/message/detail.vue'),
|
||
// meta: {icon: 'iconfont icon-shuju'},
|
||
// },
|
||
// {
|
||
// path: '/message/records',
|
||
// name: 'moduleRoutes.messageRecords',
|
||
// component: () => import('/@/views/message/records.vue'),
|
||
// meta: {icon: 'iconfont icon-shuju'},
|
||
// },
|
||
|
||
{
|
||
name: 'message_config',
|
||
zhCn: '消息配置',
|
||
en: 'Message Configuration',
|
||
pages: [
|
||
{
|
||
name: 'messageConfig',
|
||
zhCn: '消息配置',
|
||
en: 'Message Configuration',
|
||
path: '/message/config',
|
||
component: () => import('/@/views/message/config.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'message_list',
|
||
zhCn: '消息列表',
|
||
en: 'Message List',
|
||
pages: [
|
||
{
|
||
name: 'messageList',
|
||
zhCn: '消息列表',
|
||
en: 'Message List',
|
||
path: '/message/list',
|
||
component: () => import('/@/views/message/list.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
},
|
||
},
|
||
{
|
||
name: 'messageDetail',
|
||
zhCn: '消息详情',
|
||
en: 'Message Detail',
|
||
path: '/message/detail',
|
||
component: () => import('/@/views/message/detail.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
parentName: 'messageList',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
|
||
{
|
||
name: 'message_records',
|
||
zhCn: '消息记录',
|
||
en: 'Message Records',
|
||
pages: [
|
||
{
|
||
name: 'messageRecords',
|
||
zhCn: '消息记录',
|
||
en: 'Message Records',
|
||
path: '/message/records',
|
||
component: () => import('/@/views/message/records.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'mold_management',
|
||
zhCn: '产品管理',
|
||
en: 'Product Management',
|
||
pages: [
|
||
{
|
||
name: 'moldList',
|
||
zhCn: '产品列表',
|
||
en: 'Product List',
|
||
path: '/mold/list',
|
||
component: () => import('/@/views/mold/product/list.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
},
|
||
},
|
||
{
|
||
name: 'moldDetail',
|
||
zhCn: '产品详情',
|
||
en: 'Product Detail',
|
||
path: '/mold/detail',
|
||
component: () => import('/@/views/mold/product/detail.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
parentName: 'moldList',
|
||
},
|
||
},
|
||
{
|
||
name: 'moldDataPermission',
|
||
zhCn: '产品数据权限',
|
||
en: 'ProductData Permission',
|
||
path: '/mold/data-permission',
|
||
component: () => import('/@/views/mold/product/data-permission.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
parentName: 'moldDetail',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'mold_part_management',
|
||
zhCn: '零件管理',
|
||
en: 'Part Management',
|
||
pages: [
|
||
{
|
||
name: 'moldPartList',
|
||
zhCn: '零件列表',
|
||
en: 'Part List',
|
||
path: '/mold/part/list',
|
||
component: () => import('/@/views/mold/part/list.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
},
|
||
},
|
||
{
|
||
name: 'moldPartDetail',
|
||
zhCn: '零件详情',
|
||
en: 'Part Detail',
|
||
path: '/mold/part/detail/:moldPartId',
|
||
component: () => import('/@/views/mold/part/detail.vue'),
|
||
meta: {
|
||
icon: 'iconfont icon-yunxiazai_o',
|
||
parentName: 'moldPartList',
|
||
},
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'material_information_table',
|
||
zhCn: '材料信息库',
|
||
en: 'Material Information Table',
|
||
pages: [
|
||
{
|
||
name: 'materialInformationTable',
|
||
zhCn: '材料信息库',
|
||
en: 'Material Information Table',
|
||
path: '/industrial/material',
|
||
component: () => import('/@/views/industrial/material/index.vue'),
|
||
meta: { icon: 'iconfont icon-yunxiazai_o' },
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'material_color_error',
|
||
zhCn: '颜色公差库',
|
||
en: 'Color Tolerance Table',
|
||
pages: [
|
||
{
|
||
name: 'materialColorError',
|
||
zhCn: '颜色公差库',
|
||
en: 'Color Tolerance Table',
|
||
path: '/industrial/color-error',
|
||
component: () => import('/@/views/industrial/colorError/index.vue'),
|
||
meta: { icon: 'iconfont icon-AIshiyanshi' },
|
||
},
|
||
],
|
||
},
|
||
{
|
||
name: 'erp_material',
|
||
zhCn: '物料管理',
|
||
en: 'Material Management',
|
||
pages: [
|
||
{
|
||
path: '/industrial/erp-material',
|
||
name: 'erpMaterial',
|
||
zhCn: '物料管理',
|
||
en: 'Material Management',
|
||
component: () => import('/@/views/industrial/erp/index.vue'),
|
||
meta: { icon: 'iconfont icon-AIshiyanshi', code: 'material_color_error_view' },
|
||
},
|
||
],
|
||
},
|
||
];
|
||
|
||
export const navList = [
|
||
{
|
||
name: 'spdmProject',
|
||
zhCn: '项目管理',
|
||
en: 'Project Management',
|
||
subApps: ['spdm_ProjectProjectList', 'spdm_ProjectDashboard'],
|
||
meta: {
|
||
icon: 'ele-House',
|
||
},
|
||
},
|
||
{
|
||
name: 'spdmTask',
|
||
zhCn: '任务管理',
|
||
en: 'Task Management',
|
||
subApps: ['spdm_TaskSend', 'spdm_TaskExecute', 'spdm_TaskAttention', 'spdm_TaskAll', 'spdm_TaskExecution'],
|
||
meta: {
|
||
icon: 'ele-Calendar',
|
||
},
|
||
},
|
||
{
|
||
name: 'spdmData',
|
||
zhCn: '数据管理',
|
||
en: 'Data Management',
|
||
subApps: ['spdm_DataOverview', 'spdm_DataAnalysis', 'spdm_DataPermission'],
|
||
meta: {
|
||
icon: 'ele-TakeawayBox',
|
||
},
|
||
},
|
||
{
|
||
name: 'spdmSimulation',
|
||
zhCn: '流程管理',
|
||
en: 'Process Management',
|
||
subApps: ['spdm_SimulationProcess', 'spdm_SystemApplication'],
|
||
meta: {
|
||
icon: 'ele-Finished',
|
||
},
|
||
},
|
||
{
|
||
name: 'spdmCompetenceCenter',
|
||
zhCn: '能力中心',
|
||
en: 'Capability Center',
|
||
subApps: [
|
||
'spdm_CompetenceCenterCondition',
|
||
'spdm_CompetenceCenterKnowledge',
|
||
'spdm_CompetenceCenterParameter',
|
||
'spdm_CompetenceCenterReport',
|
||
'spdm_CompetenceCenterAnimation',
|
||
'spdm_CompetenceCenterRobot',
|
||
'spdm_CompetenceCenterIndustrialDesign',
|
||
'spdm_CompetenceCenterToleranceAnalysis',
|
||
],
|
||
meta: {
|
||
icon: 'ele-Reading',
|
||
},
|
||
},
|
||
{
|
||
name: 'spdmSystem',
|
||
zhCn: '系统管理',
|
||
en: 'System Administration',
|
||
subApps: [
|
||
'spdm_SystemStorage',
|
||
'spdm_SystemDictionary',
|
||
'spdm_SystemConfiguration',
|
||
'spdm_SystemPermission',
|
||
'spdm_SystemLogs',
|
||
'spdm_SystemDynamicTable',
|
||
'message_records',
|
||
'spdm_SystemRecycleBin',
|
||
],
|
||
meta: {
|
||
icon: 'ele-Monitor',
|
||
},
|
||
},
|
||
{
|
||
name: 'collaborative',
|
||
zhCn: '协同办公',
|
||
en: 'Collaborative Office',
|
||
subApps: ['flow_initiate'],
|
||
meta: {
|
||
icon: 'ele-Present',
|
||
},
|
||
},
|
||
{
|
||
name: 'cosmeticsBasic',
|
||
zhCn: '化妆品行业基础数据',
|
||
en: 'Cosmetics Basic Data',
|
||
subApps: [
|
||
'meiyun_implementationStandards',
|
||
'meiyun_riskySubstances',
|
||
'meiyun_toxicologyDatabase',
|
||
'meiyun_inciForbidden_chemistry',
|
||
'meiyun_inciForbidden_organism',
|
||
'meiyun_inciRestricted_ordinary',
|
||
'meiyun_inciRestricted_preservative',
|
||
'meiyun_inciRestricted_sunscreen',
|
||
'meiyun_colorant',
|
||
'meiyun_inciRestricted_hairDye',
|
||
'meiyun_qmsVerificationMetric',
|
||
'meiyun_inStandardCheckItem',
|
||
'meiyun_inci',
|
||
'meiyun_qmsFileManage',
|
||
'meiyun_qmsStandardDocument',
|
||
],
|
||
meta: {
|
||
icon: 'iconfont icon-dongtai',
|
||
},
|
||
},
|
||
{
|
||
name: 'organization',
|
||
zhCn: '组织架构管理',
|
||
en: 'Organization Management',
|
||
subApps: ['tenant_staff', 'tenant_role', 'tenant_dept', 'tenant_post'],
|
||
meta: {
|
||
icon: 'iconfont icon-icon-',
|
||
},
|
||
},
|
||
{
|
||
name: 'platform',
|
||
zhCn: '平台管理',
|
||
en: 'Platform Management',
|
||
subApps: ['platform_user', 'platform_tenant', 'platform_package'],
|
||
meta: {
|
||
icon: 'iconfont icon-caidan',
|
||
},
|
||
},
|
||
{
|
||
name: 'tools',
|
||
zhCn: '基础工具',
|
||
en: 'Base Tools',
|
||
subApps: ['system_quartz', 'system_message', 'aisu_upload'],
|
||
meta: {
|
||
icon: 'iconfont icon-gongju',
|
||
},
|
||
},
|
||
{
|
||
name: 'log',
|
||
zhCn: '日志管理',
|
||
en: 'Log Management',
|
||
subApps: ['log_audit', 'log_operation'],
|
||
meta: {
|
||
icon: 'ele-Cloudy',
|
||
},
|
||
},
|
||
{
|
||
name: 'message',
|
||
zhCn: '消息中心',
|
||
en: 'Message Management',
|
||
subApps: ['message_config', 'message_list'],
|
||
meta: {
|
||
icon: 'iconfont icon-shuju',
|
||
},
|
||
},
|
||
{
|
||
name: 'system',
|
||
zhCn: '系统设置',
|
||
en: 'System Setting',
|
||
subApps: ['system_route', 'system_dict', 'system_param', 'system_client', 'system_social', 'system_token', 'system_region', 'system_cache'],
|
||
meta: {
|
||
icon: 'iconfont icon-quanjushezhi_o',
|
||
},
|
||
},
|
||
{
|
||
name: 'industrial_resource_bank',
|
||
zhCn: '工业资源库',
|
||
en: 'Industrial Resource Bank',
|
||
subApps: ['material_information_table', 'material_color_error', 'erp_material'],
|
||
meta: {
|
||
icon: 'iconfont icon-quanjushezhi_o',
|
||
},
|
||
},
|
||
];
|
||
|
||
export const menuList = [
|
||
{
|
||
appName: 'spdmTaskList',
|
||
},
|
||
{
|
||
navName: 'spdmProject',
|
||
},
|
||
{
|
||
navName: 'spdmTask',
|
||
},
|
||
{
|
||
navName: 'spdmData',
|
||
},
|
||
{
|
||
navName: 'spdmSimulation',
|
||
},
|
||
{
|
||
navName: 'spdmCompetenceCenter',
|
||
},
|
||
{
|
||
navName: 'spdmSystem',
|
||
},
|
||
{
|
||
appName: 'meiyun_product',
|
||
subApps: [
|
||
'meiyun_formula',
|
||
'meiyun_formulaMakeupDemo',
|
||
'meiyun_formulaComparison',
|
||
'meiyun_sampleTesting',
|
||
'meiyun_packMaterialProofing',
|
||
'meiyun_material',
|
||
'meiyun_manufacturer',
|
||
'meiyun_supplier',
|
||
'meiyun_formulation_review',
|
||
'meiyun_packing',
|
||
],
|
||
},
|
||
{
|
||
appName: 'mold_management',
|
||
},
|
||
{
|
||
appName: 'mold_part_management',
|
||
},
|
||
{
|
||
appName: 'project',
|
||
},
|
||
{
|
||
navName: 'industrial_resource_bank',
|
||
},
|
||
{
|
||
appName: 'task',
|
||
},
|
||
{
|
||
appName: 'form_template',
|
||
},
|
||
{
|
||
navName: 'collaborative',
|
||
},
|
||
{
|
||
appName: 'system_file',
|
||
},
|
||
{
|
||
appName: 'screen_billboard',
|
||
},
|
||
{
|
||
appName: 'data_report',
|
||
},
|
||
{
|
||
navName: 'cosmeticsBasic',
|
||
},
|
||
{
|
||
navName: 'organization',
|
||
},
|
||
{
|
||
navName: 'platform',
|
||
},
|
||
{
|
||
navName: 'tools',
|
||
},
|
||
{
|
||
navName: 'log',
|
||
},
|
||
{
|
||
navName: 'message',
|
||
},
|
||
{
|
||
navName: 'system',
|
||
},
|
||
];
|
||
|
||
const HashSalt = 'iL8fQn4Xk6J9wP2T';
|
||
|
||
function generateBigInt(input) {
|
||
// 创建一个哈希值
|
||
const hash = sha256(input.toString() + HashSalt).toString();
|
||
// 将哈希转换为 bigint
|
||
// 取模以限制长度
|
||
const bigIntValue = BigInt('0x' + hash) % BigInt(10 ** 10);
|
||
return bigIntValue.toString();
|
||
}
|
||
export const createAppId = (appName) => generateBigInt(appName);
|
||
export const createFunctionId = (functionName, appId) => {
|
||
return generateBigInt(`${appId}${functionName}`);
|
||
};
|