diff --git a/web-vue/src/components/customTable/index.vue b/web-vue/src/components/customTable/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d883d554d4253c26404cf24c3560110401c5eab0
--- /dev/null
+++ b/web-vue/src/components/customTable/index.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web-vue/src/d.ts/components.d.ts b/web-vue/src/d.ts/components.d.ts
index 00782324d5b31e15e10189b1cbae199445d62076..96b42ddee47bc54289c2e90eb8eaaa4d7f68d009 100644
--- a/web-vue/src/d.ts/components.d.ts
+++ b/web-vue/src/d.ts/components.d.ts
@@ -17,6 +17,7 @@ declare module 'vue' {
ACardMeta: typeof import('ant-design-vue/es')['CardMeta']
ACascader: typeof import('ant-design-vue/es')['Cascader']
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
+ ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup']
ACol: typeof import('ant-design-vue/es')['Col']
ACollapse: typeof import('ant-design-vue/es')['Collapse']
ACollapsePanel: typeof import('ant-design-vue/es')['CollapsePanel']
@@ -100,9 +101,12 @@ declare module 'vue' {
ClusterOutlined: typeof import('@ant-design/icons-vue')['ClusterOutlined']
CodeEditor: typeof import('./../components/codeEditor/index.vue')['default']
CodeOutlined: typeof import('@ant-design/icons-vue')['CodeOutlined']
+ ColumnHeightOutlined: typeof import('@ant-design/icons-vue')['ColumnHeightOutlined']
CompositionTransfer: typeof import('./../components/compositionTransfer/composition-transfer.vue')['default']
+ copy: typeof import('./../components/customTable/index copy.vue')['default']
CustomInput: typeof import('./../components/customInput/index.vue')['default']
CustomSelect: typeof import('./../components/customSelect/index.vue')['default']
+ CustomTable: typeof import('./../components/customTable/index.vue')['default']
DeleteOutlined: typeof import('@ant-design/icons-vue')['DeleteOutlined']
DesktopOutlined: typeof import('@ant-design/icons-vue')['DesktopOutlined']
DownloadOutlined: typeof import('@ant-design/icons-vue')['DownloadOutlined']
@@ -120,6 +124,7 @@ declare module 'vue' {
FullscreenOutlined: typeof import('@ant-design/icons-vue')['FullscreenOutlined']
HighlightOutlined: typeof import('@ant-design/icons-vue')['HighlightOutlined']
HomeOutlined: typeof import('@ant-design/icons-vue')['HomeOutlined']
+ 'Index.bak': typeof import('./../components/customTable/index.bak.vue')['default']
Index2: typeof import('./../components/logView/index2.vue')['default']
InfoCircleOutlined: typeof import('@ant-design/icons-vue')['InfoCircleOutlined']
InfoOutlined: typeof import('@ant-design/icons-vue')['InfoOutlined']
diff --git a/web-vue/src/pages/node/search.vue b/web-vue/src/pages/node/search.vue
index 61b18268ea79abb80bc697c25876cf9a9761d244..d688c5284d04623319bf4125272ce7ca582f5d38 100644
--- a/web-vue/src/pages/node/search.vue
+++ b/web-vue/src/pages/node/search.vue
@@ -325,6 +325,326 @@
+
+
+
+
+ {{ nodeName }}
+
+
+ {{ group }}
+
+
+
+
+
+ {{ item }}
+
+
+ 搜索
+
+
+
+ 操作
+
+
+
+ 批量启动
+
+
+ 批量重启
+
+
+ 批量关闭
+
+
+
+
+ 操作
+
+ 新增
+
+
+ 同步
+
+
+
+ {{ nodeName }}
+
+
+
+
+
+ 同步
+
+ 导出
+
+
+
+
+ 下载导入模板
+
+
+
+
+
+ 导入
+
+
+
+
+
+
+
+ - 状态数据是异步获取有一定时间延迟
+ - 在单页列表里面 file 类型项目将自动排序到最后
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+ {{ nodeMap[text] }}
+
+
+
+
+
+
+ {{ (record.whitelistDirectory || '') + (record.lib || '') }}
+
+
+
+
+
+ {{ text || '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ {{
+ (projectStatusMap[record.nodeId] &&
+ projectStatusMap[record.nodeId][record.projectId] &&
+ projectStatusMap[record.nodeId][record.projectId].port) ||
+ '-'
+ }}/{{
+ (
+ (projectStatusMap[record.nodeId] &&
+ projectStatusMap[record.nodeId][record.projectId] &&
+ projectStatusMap[record.nodeId][record.projectId].pids) || [
+ (projectStatusMap[record.nodeId] &&
+ projectStatusMap[record.nodeId][record.projectId] &&
+ projectStatusMap[record.nodeId][record.projectId].pid) ||
+ '-'
+ ]
+ ).join(',')
+ }}
+
+
+
+
+ 文件
+
+ 控制台
+
+
+
+ 控制台
+
+
+
+ e.preventDefault()">
+ 更多
+
+
+
+
+
+
+ 触发器
+
+
+
+ 触发器
+
+
+
+ 项目日志
+
+
+ 复制
+
+
+ 逻辑删除
+
+
+ 彻底删除
+
+
+ 迁移工作空间
+
+
+ 置顶
+
+
+ 上移
+
+
+
+ 下移
+
+
+
+
+
+
+
+
+