From 8033aab1a51c2c9cb716a080760144689a84a093 Mon Sep 17 00:00:00 2001 From: yaojn Date: Thu, 23 Nov 2023 18:29:28 +0800 Subject: [PATCH] =?UTF-8?q?-=20[=E5=8A=9F=E8=83=BD]=E3=80=90=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=B7=AF=E7=94=B1=E9=A1=B5=E9=9D=A2+?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89form=E8=A1=A8=E5=8D=95=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E3=80=91=E6=8A=BD=E7=A6=BB=20=20-=20[=E5=85=B3?= =?UTF-8?q?=E8=81=94]#[1019362834612224]=E3=80=90=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E8=B7=AF=E7=94=B1=E9=A1=B5=E9=9D=A2+=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89form=E8=A1=A8=E5=8D=95=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E3=80=91=E6=8A=BD=E7=A6=BB=20http://192.168.0.96:8090/demo/rdm?= =?UTF-8?q?.html#/story-detail/939050947543040/939050947543042/10193628346?= =?UTF-8?q?12224?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/commercial-module/README.md | 5 +- src/resources/api/api.js | 36 ++++-- .../plugins/TsSheet/form-item-config.vue | 2 +- src/resources/plugins/TsSheet/form-item.vue | 2 +- .../plugins/TsSheet/form/component/index.js | 105 +++++++++++++----- .../plugins/TsSheet/form/config/index.js | 99 ++++++++++++----- .../plugins/TsSheet/form/formitem-list.js | 51 ++++----- src/views/pages/deploy/router.js | 11 +- src/views/pages/framework/framework.js | 10 +- vue.config.js | 81 +++++++------- 10 files changed, 257 insertions(+), 145 deletions(-) diff --git a/src/commercial-module/README.md b/src/commercial-module/README.md index fb2281b6..31e8dc17 100644 --- a/src/commercial-module/README.md +++ b/src/commercial-module/README.md @@ -1,2 +1,3 @@ -# 商业模块放置地址 -> 该文件夹勿删 \ No newline at end of file +# 商业模块文件夹 + +> 该文件夹勿删,该文件夹下项目以模块命名,切记直接使用neatlogic-web-xxx,否则文件路径会找不到 diff --git a/src/resources/api/api.js b/src/resources/api/api.js index b8752f6c..004eb97e 100644 --- a/src/resources/api/api.js +++ b/src/resources/api/api.js @@ -13,19 +13,39 @@ import report from './report'; import rdm from './rdm'; import documentonline from './documentonline'; let moduleApiConfig = {}; +let moduleList = ['autoexec', 'cmdb', 'common', 'dashboard', 'deploy', 'framework', 'globalsearch', 'inspect', 'knowledge', 'pbc', 'process', 'report', 'rdm', 'documentonline']; // 用于自定义页面接口导入做浅拷贝 +let moduleConfig = { + autoexec: autoexec, + cmdb: cmdb, + common: common, + dashboard: dashboard, + deploy: deploy, + framework: framework, + globalsearch: globalsearch, + inspect: inspect, + knowledge: knowledge, + pbc: pbc, + process: process, + report: report, + rdm: rdm, + documentonline: documentonline +}; try { // 导入自定义模块,获取导出接口地址 const apiConfig = require.context('@/commercial-module', true, /api.js$/); - const moduleApiPathList = apiConfig.keys(); - moduleApiPathList.forEach(routerPath => { - const moduleId = routerPath.split('/')[1]; - const exportValue = apiConfig(routerPath).default || {}; - const lastModuleName = moduleId.split('-'); - const moduleName = lastModuleName?.pop() || moduleId; - moduleApiConfig[moduleName] = exportValue; + apiConfig.keys().forEach(apiPath => { + if (apiPath) { + const moduleName = apiPath.split('/')[1]?.split('-')?.pop() || apiPath.split('/')[1]; + const exportValue = apiConfig(apiPath).default || {}; + if (moduleList.includes(moduleName)) { + moduleApiConfig[moduleName] = Object.assign(moduleConfig[moduleName], exportValue); //自定义页面接口导入,在现有模块基础上添加 + } else { + moduleApiConfig[moduleName] = exportValue; + } + } }); } catch (error) { - // + console.error('api.js抛出异常', error); } export default { diff --git a/src/resources/plugins/TsSheet/form-item-config.vue b/src/resources/plugins/TsSheet/form-item-config.vue index a55690fe..14154ccf 100644 --- a/src/resources/plugins/TsSheet/form-item-config.vue +++ b/src/resources/plugins/TsSheet/form-item-config.vue @@ -80,7 +80,7 @@