From 6287ebdaf988a29901c77d43afbd7253d2279b3e Mon Sep 17 00:00:00 2001 From: hLinx <327159425@qq.com> Date: Mon, 28 Oct 2024 14:49:43 +0800 Subject: [PATCH 01/15] =?UTF-8?q?perf:=20=E8=84=9A=E6=9C=AC=E5=92=8C?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=86=E5=8F=91=E4=BB=BB=E5=8A=A1=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=B6=85=E6=97=B6=E6=97=B6=E9=95=BF=E8=B0=83?= =?UTF-8?q?=E6=95=B4=20#3229?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/views/fast-execution/distro-file/index.vue | 2 +- src/frontend/src/views/fast-execution/exec-script/index.vue | 2 +- .../render-task-step/task-step/components/distro-file.vue | 2 +- .../render-task-step/task-step/components/exec-script.vue | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/frontend/src/views/fast-execution/distro-file/index.vue b/src/frontend/src/views/fast-execution/distro-file/index.vue index 62ff49f639..aeab569bc6 100644 --- a/src/frontend/src/views/fast-execution/distro-file/index.vue +++ b/src/frontend/src/views/fast-execution/distro-file/index.vue @@ -187,7 +187,7 @@ // 源文件列表 fileSourceList: [], // 超时 - timeout: 7200, + timeout: 600, // 上传文件限速 uploadSpeedLimit: 0, // 传输模式: 1 - 严谨模式; 2 - 强制模式;3 - 安全模式 diff --git a/src/frontend/src/views/fast-execution/exec-script/index.vue b/src/frontend/src/views/fast-execution/exec-script/index.vue index 01e6eeea0e..751b9a9a5d 100644 --- a/src/frontend/src/views/fast-execution/exec-script/index.vue +++ b/src/frontend/src/views/fast-execution/exec-script/index.vue @@ -184,7 +184,7 @@ // 敏感参数 0-关闭 1-开启 secureParam: 0, // 超时 - timeout: 7200, + timeout: 300, // 账号 account: '', // 目标服务器 diff --git a/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/distro-file.vue b/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/distro-file.vue index b873dc43c0..bb3a0f9e51 100644 --- a/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/distro-file.vue +++ b/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/distro-file.vue @@ -128,7 +128,7 @@ // 源文件列表 fileSourceList: [], // 超时 - timeout: 7200, + timeout: 500, // 上传文件限速 uploadSpeedLimit: 0, // 传输模式: 1 - 严谨模式; 2 - 强制模式;3 - 安全模式 diff --git a/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/exec-script.vue b/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/exec-script.vue index 6c8080df77..d5c1797a9d 100644 --- a/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/exec-script.vue +++ b/src/frontend/src/views/task-manage/common/render-task-step/task-step/components/exec-script.vue @@ -121,7 +121,7 @@ // 脚本参数 scriptParam: '', // 超时时间 - timeout: 7200, + timeout: 300, // 敏感参数 (0-关闭 1-开启) secureParam: 0, // 执行账号 From f328a81d5473bc64e2215bf080c317c8fd5424de Mon Sep 17 00:00:00 2001 From: hLinx <327159425@qq.com> Date: Mon, 28 Oct 2024 17:23:06 +0800 Subject: [PATCH 02/15] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E8=BF=90?= =?UTF-8?q?=E8=90=A5=E5=88=86=E6=9E=90=E8=A7=86=E5=9B=BE=E7=9A=84=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E5=B1=95=E7=A4=BA=E6=95=B0=E6=8D=AE=E5=92=8C=E5=BD=A2?= =?UTF-8?q?=E5=BC=8F=20#3228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index/components/execute/statistics.vue | 272 +++++++++++------- .../src/views/dashboard/language/zh.json | 3 +- 2 files changed, 177 insertions(+), 98 deletions(-) diff --git a/src/frontend/src/views/dashboard/index/components/execute/statistics.vue b/src/frontend/src/views/dashboard/index/components/execute/statistics.vue index 0ea9c66733..6b5dd4d6f9 100644 --- a/src/frontend/src/views/dashboard/index/components/execute/statistics.vue +++ b/src/frontend/src/views/dashboard/index/components/execute/statistics.vue @@ -122,6 +122,8 @@ value, } = data; + const realValue = seriesName !== I18n.t('dashboard.执行失败率') ? value : `${(Number(value) * 100).toFixed(2)} %`; + if (seriesType === 'bar') { return ` @@ -129,7 +131,7 @@ ${seriesName} - ${value} + ${realValue} `; } if (seriesType === 'line') { @@ -139,7 +141,7 @@ ${seriesName} - ${value} + ${realValue} `; } @@ -153,6 +155,13 @@ paramsArr = params; } + paramsArr.splice(-1, 0, { + seriesType: 'line', + seriesName: I18n.t('dashboard.执行次数'), + color: '#FFD695', + value: _.filter(paramsArr, item => item.seriesType === 'bar').reduce((result, item) => parseInt(item.value, 10) + result, 0), + }); + return `${paramsArr.map(generatorHtml).join('')}
`; }; @@ -228,8 +237,9 @@ apiList.push(API); cronList.push(CRON); normalList.push(NORMAL); - failList.push(failCount); - totalList.push(API + CRON + NORMAL); + const total = API + CRON + NORMAL; + failList.push((failCount / total).toFixed(4)); + totalList.push(total); }); this.myChart.clear(); @@ -241,11 +251,7 @@ I18n.t('dashboard.API 调用'), I18n.t('dashboard.定时执行'), { - name: I18n.t('dashboard.执行次数'), - icon: 'circle', - }, - { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), icon: 'circle', }, ], @@ -276,7 +282,7 @@ grid: { top: 45, left: 40, - right: 0, + right: 40, bottom: 48, containLabel: true, }, @@ -298,30 +304,53 @@ data: dateList, }, ], - yAxis: { - type: 'value', - name: I18n.t('dashboard.执行数'), - nameLocation: 'middle', - nameTextStyle: { - color: '#63656E', - }, - nameGap: 50, - axisLine: { - show: false, - }, - axisTick: { - show: false, - }, - axisLabel: { - color: '#979BA5', - formatter: value => formatNumber(value, true), + yAxis: [ + { + type: 'value', + name: I18n.t('dashboard.执行数'), + nameLocation: 'middle', + nameTextStyle: { + color: '#63656E', + }, + nameGap: 50, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + color: '#979BA5', + formatter: value => formatNumber(value, true), + }, + splitLine: { + lineStyle: { + color: '#F0F1F5', + }, + }, }, - splitLine: { - lineStyle: { - color: '#F0F1F5', + { + type: 'value', + name: I18n.t('dashboard.执行失败率'), + nameLocation: 'middle', + nameTextStyle: { + color: '#FF5656', + }, + position: 'right', + nameGap: 50, + alignTicks: true, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + color: '#FF5656', + formatter: value => `${value * 100} %`, }, }, - }, + ], series: [ { name: I18n.t('dashboard.页面执行'), @@ -354,20 +383,13 @@ }, }, { - name: I18n.t('dashboard.执行次数'), - type: 'line', - data: totalList, - itemStyle: { - color: '#FFD695', - }, - }, - { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), type: 'line', data: failList, itemStyle: { color: '#FF5656', }, + yAxisIndex: 1, }, ], }); @@ -398,7 +420,7 @@ executeTaskList.push(EXECUTE_TASK); fastExecuteScriptList.push(FAST_EXECUTE_SCRIPT); fastPushFileList.push(FAST_PUSH_FILE); - failList.push(failCount); + failList.push((failCount / (EXECUTE_TASK + FAST_EXECUTE_SCRIPT + FAST_PUSH_FILE)).toFixed(4)); }); this.myChart.clear(); @@ -410,7 +432,7 @@ I18n.t('dashboard.快速分发文件'), I18n.t('dashboard.作业执行'), { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), icon: 'circle', }, ], @@ -421,15 +443,23 @@ itemGap: 40, }, tooltip: { - trigger: 'item', - backgroundColor: 'rgba(0,0,0,0.8)', - borderColor: 'transparent', + trigger: 'axis', + axisPointer: { + type: 'line', + lineStyle: { + width: 30, + color: '#63656E', + opacity: 0.16, + type: 'solid', + }, + }, formatter: tooltipFormatter, + backgroundColor: 'rgba(0,0,0,0.8)', }, grid: { top: 45, left: 40, - right: 0, + right: 40, bottom: 48, containLabel: true, }, @@ -451,30 +481,53 @@ data: dateList, }, ], - yAxis: { - type: 'value', - name: I18n.t('dashboard.执行数'), - nameLocation: 'middle', - nameTextStyle: { - color: '#63656E', - }, - nameGap: 50, - axisLine: { - show: false, - }, - axisTick: { - show: false, - }, - axisLabel: { - color: '#979BA5', - formatter: value => formatNumber(value, true), + yAxis: [ + { + type: 'value', + name: I18n.t('dashboard.执行数'), + nameLocation: 'middle', + nameTextStyle: { + color: '#63656E', + }, + nameGap: 50, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + color: '#979BA5', + formatter: value => formatNumber(value, true), + }, + splitLine: { + lineStyle: { + color: '#F0F1F5', + }, + }, }, - splitLine: { - lineStyle: { - color: '#F0F1F5', + { + type: 'value', + name: I18n.t('dashboard.执行失败率'), + nameLocation: 'middle', + nameTextStyle: { + color: '#FF5656', + }, + position: 'right', + nameGap: 50, + alignTicks: true, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + color: '#FF5656', + formatter: value => `${value * 100} %`, }, }, - }, + ], series: [ { id: 'EXECUTED_FAST_SCRIPT', @@ -519,7 +572,7 @@ }, }, { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), type: 'line', data: failList, itemStyle: { @@ -528,6 +581,7 @@ emphasis: { focus: 'series', }, + yAxisIndex: 1, }, ], }); @@ -558,7 +612,7 @@ lessThanOneMinList.push(LESS_THAN_ONE_MIN); oneMinToTenMinList.push(ONE_MIN_TO_TEN_MIN); overTenMinList.push(OVER_TEN_MIN); - failList.push(failCount); + failList.push((failCount / (LESS_THAN_ONE_MIN + ONE_MIN_TO_TEN_MIN + OVER_TEN_MIN)).toFixed(2)); }); this.myChart.clear(); @@ -570,7 +624,7 @@ I18n.t('dashboard.1~10分钟以内(包含10分钟)'), I18n.t('dashboard.1分钟以内(包含1分钟)'), { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), icon: 'circle', }, ], @@ -597,7 +651,7 @@ grid: { top: 45, left: 40, - right: 0, + right: 40, bottom: 48, containLabel: true, }, @@ -619,30 +673,53 @@ data: dateList, }, ], - yAxis: { - type: 'value', - name: I18n.t('dashboard.执行数'), - nameLocation: 'middle', - nameTextStyle: { - color: '#63656E', - }, - nameGap: 50, - axisLine: { - show: false, - }, - axisTick: { - show: false, - }, - axisLabel: { - color: '#979BA5', - formatter: value => formatNumber(value, true), + yAxis: [ + { + type: 'value', + name: I18n.t('dashboard.执行数'), + nameLocation: 'middle', + nameTextStyle: { + color: '#63656E', + }, + nameGap: 50, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + color: '#979BA5', + formatter: value => formatNumber(value, true), + }, + splitLine: { + lineStyle: { + color: '#F0F1F5', + }, + }, }, - splitLine: { - lineStyle: { - color: '#F0F1F5', + { + type: 'value', + name: I18n.t('dashboard.执行失败率'), + nameLocation: 'middle', + nameTextStyle: { + color: '#FF5656', + }, + position: 'right', + nameGap: 50, + alignTicks: true, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + color: '#FF5656', + formatter: value => `${value * 100} %`, }, }, - }, + ], series: [ { name: I18n.t('dashboard.≥ 10分钟'), @@ -675,12 +752,13 @@ }, }, { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), type: 'line', data: failList, itemStyle: { color: '#FF5656', }, + yAxisIndex: 1, }, ], }); @@ -737,7 +815,7 @@ 'PowerShell', 'SQL', { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), icon: 'circle', }, ], @@ -872,7 +950,7 @@ }, }, { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), type: 'line', data: failList, itemStyle: { @@ -917,7 +995,7 @@ I18n.t('dashboard.强制模式'), I18n.t('dashboard.严谨模式'), { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), icon: 'circle', }, ], @@ -1012,7 +1090,7 @@ }, }, { - name: I18n.t('dashboard.执行失败次数'), + name: I18n.t('dashboard.执行失败率'), type: 'line', data: failList, itemStyle: { diff --git a/src/frontend/src/views/dashboard/language/zh.json b/src/frontend/src/views/dashboard/language/zh.json index acbc93af41..0991a7e081 100644 --- a/src/frontend/src/views/dashboard/language/zh.json +++ b/src/frontend/src/views/dashboard/language/zh.json @@ -102,5 +102,6 @@ "Solaris 数量": "Solaris 数量", "Free BSD 数量": "Free BSD 数量", "MacOS 数量": "MacOS 数量", - "未知数量": "未知数量" + "未知数量": "未知数量", + "执行失败率": "执行失败率" } \ No newline at end of file From ce2d9f898ae5fcdb3204eaee09db8cc4ef7d2125 Mon Sep 17 00:00:00 2001 From: hLinx <327159425@qq.com> Date: Mon, 28 Oct 2024 18:21:26 +0800 Subject: [PATCH 03/15] =?UTF-8?q?perf:=20=E8=A1=A5=E5=85=85=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E6=89=A7=E8=A1=8C=E7=9B=AE=E6=A0=87=E5=9C=A8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=AF=A6=E6=83=85=E9=87=8C=E7=9A=84=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E8=BE=85=E5=8A=A9=E4=BF=A1=E6=81=AF=20#3225?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution/step-execution-result-group.js | 4 +- .../views/executive-history/language/zh.json | 7 +- .../components/render-title.vue | 20 ++- .../components/container-list/index.vue | 132 ++++++++++++++---- 4 files changed, 126 insertions(+), 37 deletions(-) diff --git a/src/frontend/src/domain/model/execution/step-execution-result-group.js b/src/frontend/src/domain/model/execution/step-execution-result-group.js index 8c54eaa9b3..3fba6cb92e 100644 --- a/src/frontend/src/domain/model/execution/step-execution-result-group.js +++ b/src/frontend/src/domain/model/execution/step-execution-result-group.js @@ -25,7 +25,7 @@ import _ from 'lodash'; -import AgentTaskModel from '@model/execution/agent-task-execution'; +import AgentTaskExecutionModel from '@model/execution/agent-task-execution'; const STATUS_PENDING = 5; const STATUS_DOING = 7; @@ -84,6 +84,6 @@ export default class ResultGroup { if (!_.isArray(tasks)) { return []; } - return tasks.map(item => Object.freeze(new AgentTaskModel(item))); + return tasks.map(item => Object.freeze(new AgentTaskExecutionModel(item))); } } diff --git a/src/frontend/src/views/executive-history/language/zh.json b/src/frontend/src/views/executive-history/language/zh.json index 382b9efd07..90bde4a942 100644 --- a/src/frontend/src/views/executive-history/language/zh.json +++ b/src/frontend/src/views/executive-history/language/zh.json @@ -190,5 +190,10 @@ "没有可复制的容器名称": "没有可复制的容器名称", "文件源": "文件源", "日志文本过长,超出 AI 解析范围,请框选部分日志,再次出发点小鲸分析。": "日志文本过长,超出 AI 解析范围,请框选部分日志,再次出发点小鲸分析。", - "报错日志看不懂?来提问小鲸吧~": "报错日志看不懂?来提问小鲸吧~" + "报错日志看不懂?来提问小鲸吧~": "报错日志看不懂?来提问小鲸吧~", + "集群名": "集群名", + "命名空间": "命名空间", + "工作负载": "工作负载", + "节点IP": "节点 IP", + "节点主机ID": "节点主机 ID" } \ No newline at end of file diff --git a/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/render-title.vue b/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/render-title.vue index 8c2db0bcae..30a34d96d8 100644 --- a/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/render-title.vue +++ b/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/render-title.vue @@ -30,8 +30,10 @@ v-if="executeObject" class="render-execution-info-title" :class="taskExecuteDetail.result"> -
- {{ executeObject.container.name }} +
+ {{ executeObject.container.podName }}
.render-execution-info-title { display: flex; - flex-direction: column; - justify-content: center; width: 325px; padding-left: 20px; + overflow: hidden; line-height: 14px; cursor: default; + flex-direction: column; + justify-content: center; &.success, @@ -104,6 +107,15 @@ } } + .contaier-box{ + width: 100%; + height: 20px; + overflow: hidden; + line-height: 20px; + text-overflow: ellipsis; + white-space: nowrap; + } + .ip-box { &.is-mult { font-size: 12px; diff --git a/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/container-list/index.vue b/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/container-list/index.vue index a3c3b3a36f..24076bc758 100644 --- a/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/container-list/index.vue +++ b/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/container-list/index.vue @@ -40,27 +40,28 @@ @scroll-end="handleScrollEnd" @sort-change="handleSortChange"> + v-if="allShowColumn.includes('podName')" + :label="$t('history.所属 Pod 名称')" + :min-width="300" + prop="podName" + :render-header="renderPodNameHeader" + show-overflow-tooltip> + v-if="allShowColumn.includes('name')" + :label="$t('history.容器名称')" + :min-width="300" + prop="name" + :render-header="renderContainerNameHeader"> + :width="100" /> + + v-if="allShowColumn.includes('namespace')" + :label="$t('history.命名空间')" + prop="namespace" + sortable + :width="180"> + + + + + + + + + + + + Date: Tue, 29 Oct 2024 11:10:56 +0800 Subject: [PATCH 04/15] =?UTF-8?q?perf:=20=E8=84=9A=E6=9C=AC=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=9A=84=E8=BE=93=E5=85=A5=E9=99=90=E5=88=B6=EF=BC=8C?= =?UTF-8?q?=E7=94=B15000=E4=B8=AA=E5=AD=97=E7=AC=A6=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E4=B8=BA=2064K=20#3160?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/jb-input/index.vue | 4 +- .../script/strategy/execute-param.vue | 71 ------------------- .../script/strategy/script-param.vue | 28 +++++++- src/frontend/src/i18n/language/en.json | 3 +- src/frontend/src/i18n/language/zh.json | 3 +- .../src/utils/assist/get-string-byte-count.js | 24 +++++++ src/frontend/src/utils/assist/index.js | 1 + 7 files changed, 57 insertions(+), 77 deletions(-) delete mode 100644 src/frontend/src/components/task-step/script/strategy/execute-param.vue create mode 100644 src/frontend/src/utils/assist/get-string-byte-count.js diff --git a/src/frontend/src/components/jb-input/index.vue b/src/frontend/src/components/jb-input/index.vue index 0e6e3cdb45..49c73c632e 100644 --- a/src/frontend/src/components/jb-input/index.vue +++ b/src/frontend/src/components/jb-input/index.vue @@ -40,7 +40,9 @@ v-if="maxlength > 0" ref="number" class="values-number"> - {{ inputLength }}/{{ maxlength }} + + {{ inputLength }}/{{ maxlength }} +
diff --git a/src/frontend/src/components/task-step/script/strategy/execute-param.vue b/src/frontend/src/components/task-step/script/strategy/execute-param.vue deleted file mode 100644 index 06bf48d4c8..0000000000 --- a/src/frontend/src/components/task-step/script/strategy/execute-param.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - diff --git a/src/frontend/src/components/task-step/script/strategy/script-param.vue b/src/frontend/src/components/task-step/script/strategy/script-param.vue index c141a940fb..dffe0b2304 100644 --- a/src/frontend/src/components/task-step/script/strategy/script-param.vue +++ b/src/frontend/src/components/task-step/script/strategy/script-param.vue @@ -26,18 +26,25 @@ --> + diff --git a/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/host-list/index.vue b/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/host-list/index.vue index e55f0d45b2..c4e661f911 100644 --- a/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/host-list/index.vue +++ b/src/frontend/src/views/executive-history/step-detail/components/result-task-list/components/host-list/index.vue @@ -172,11 +172,15 @@ import Empty from '@components/empty'; + import { + messageWarn, + } from '@/common/bkmagic'; import I18n from '@/i18n'; import useList from '../hooks/use-list'; import ColumnSetting from './column-setting'; + import CopyMenu from './copy-menu.vue'; const COLUMN_CACHE_KEY = 'STEP_EXECUTE_IP_COLUMN3'; @@ -284,44 +288,36 @@ handleClearSearch, } = useList(props, columnList, allShowColumn); - const handleCopyIP = () => { + const handleCopyIP = (withNet = false) => { props.getAllTaskList() .then((data) => { const fieldDataList = data.reduce((result, item) => { if (item.host.ip) { - result.push(item.host.ip); + result.push(withNet ? `${item.host.cloudArea.id}:${item.host.ip}` : item.host.ip); } return result; }, []); if (fieldDataList.length < 1) { - this.$bkMessage({ - theme: 'warning', - message: I18n.t('history.没有可复制的 IPv4'), - limit: 1, - }); + messageWarn(I18n.t('history.没有可复制的 IPv4')); return; } const successMessage = `${I18n.t('history.复制成功')}(${fieldDataList.length} ${I18n.t('history.个')} IP)`; execCopy(fieldDataList.join('\n'), successMessage); }); }; - const handleCopyIpv6 = () => { + const handleCopyIpv6 = (withNet = false) => { props.getAllTaskList() .then((data) => { const fieldDataList = data.reduce((result, item) => { if (item.host.ipv6) { - result.push(item.host.ipv6); + result.push(withNet ? `${item.host.cloudArea.id}:${item.host.ipv6}` : item.host.ipv6); } return result; }, []); if (fieldDataList.length < 1) { - this.$bkMessage({ - theme: 'warning', - message: I18n.t('history.没有可复制的 IPv6'), - limit: 1, - }); + messageWarn(I18n.t('history.没有可复制的 IPv6')); return; } const successMessage = `${I18n.t('history.复制成功')}(${fieldDataList.length} ${I18n.t('history.个')} IPv6)`; @@ -335,12 +331,14 @@ const renderIpHeader = (h, { column }) => (
{column.label} - - - + +
handleCopyIP()}> + IPv4 +
+
handleCopyIP(true)}> + { I18n.t('history.管控区域_ID_IPv4')} +
+
); /** @@ -349,12 +347,14 @@ const renderIpv6Header = (h, { column }) => (
{column.label} - - - + +
handleCopyIpv6()}> + IPv6 +
+
handleCopyIpv6(true)}> + { I18n.t('history.管控区域_ID_IPv6')} +
+
); /** diff --git a/src/frontend/src/views/script-manage/list/index.vue b/src/frontend/src/views/script-manage/list/index.vue index 2155304851..f2075674b7 100644 --- a/src/frontend/src/views/script-manage/list/index.vue +++ b/src/frontend/src/views/script-manage/list/index.vue @@ -646,18 +646,18 @@ */ renderHeader(h, data) { return ( - - { data.column.label } - - -
-
{ I18n.t('script.显示被作业引用的次数') }
-
{ I18n.t('script.显示被执行方案引用的次数') }
-
-
-
+ + { data.column.label } + + +
+
{ I18n.t('script.显示被作业引用的次数') }
+
{ I18n.t('script.显示被执行方案引用的次数') }
+
+
+
); }, }, From ce09b25ecb16fb3d3cc34e8bbc50bf0c6d29535a Mon Sep 17 00:00:00 2001 From: hLinx <327159425@qq.com> Date: Wed, 30 Oct 2024 11:18:06 +0800 Subject: [PATCH 06/15] =?UTF-8?q?fix:=20=E9=9D=9E=E2=80=9C=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=A4=B1=E8=B4=A5=E2=80=9D=E7=9A=84=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E6=98=BE=E7=A4=BAAI=E5=B0=8F=E9=B2=B8?= =?UTF-8?q?=E5=85=A5=E5=8F=A3=20#3257?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../execution-info/components/script-log.vue | 12 ++++++++++-- .../step-detail/components/execution-info/index.vue | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/script-log.vue b/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/script-log.vue index a4c7c76ef2..7712fe60c5 100644 --- a/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/script-log.vue +++ b/src/frontend/src/views/executive-history/step-detail/components/execution-info/components/script-log.vue @@ -62,6 +62,7 @@
Date: Wed, 30 Oct 2024 11:23:57 +0800 Subject: [PATCH 07/15] =?UTF-8?q?perf:=20=E6=8A=8A=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=9A=84=E6=9F=A5=E7=9C=8B=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=E4=BB=8Ecookie=E6=94=B9=E4=B8=BAlocal=20stor?= =?UTF-8?q?age=20#3148=20#=20Reviewed,=20transaction=20id:=2022252?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/src/components/system-log/index.vue | 15 ++++++++------- .../task-step/script/strategy/script-param.vue | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/frontend/src/components/system-log/index.vue b/src/frontend/src/components/system-log/index.vue index 87e5c4ecaa..4f4b48a27e 100644 --- a/src/frontend/src/components/system-log/index.vue +++ b/src/frontend/src/components/system-log/index.vue @@ -114,7 +114,8 @@ // 对比版本号,每次版本更新自动显示版本日志 this.isDefaultShow = false; const currentVersion = process.env.JOB_VERSION; - this.isDefaultShow = !Cookie.get('job_supermen') || Cookie.get('job_supermen') !== currentVersion; + this.isDefaultShow = !localStorage.getItem('job_supermen') || localStorage.getItem('job_supermen') !== currentVersion; + if (this.isDefaultShow) { this.$emit('input', true); this.$emit('change', true); @@ -159,11 +160,11 @@ }); } this.popperInstance.setContent(` -
-
${I18n.t('Job 小贴士:')}
-
${I18n.t('想要再次查阅「版本日志」也可以从此处进入喔~')}
-
- `); +
+
${I18n.t('Job 小贴士:')}
+
${I18n.t('想要再次查阅「版本日志」也可以从此处进入喔~')}
+
+ `); this.popperInstance.show(); }, /** @@ -188,7 +189,7 @@ handleClose() { this.$emit('input', false); this.$emit('change', false); - Cookie.set('job_supermen', process.env.JOB_VERSION, { expires: 3600 }); + localStorage.setItem('job_supermen', process.env.JOB_VERSION); const animateTimes = 400; diff --git a/src/frontend/src/components/task-step/script/strategy/script-param.vue b/src/frontend/src/components/task-step/script/strategy/script-param.vue index dffe0b2304..55af7df87b 100644 --- a/src/frontend/src/components/task-step/script/strategy/script-param.vue +++ b/src/frontend/src/components/task-step/script/strategy/script-param.vue @@ -36,7 +36,7 @@ 'is-secure-field': formData[secureField] }"> Date: Wed, 30 Oct 2024 16:45:25 +0800 Subject: [PATCH 08/15] =?UTF-8?q?perf:=20=E4=B8=9A=E5=8A=A1=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=99=A8=E5=8D=A1=E9=A1=BF=E9=97=AE=E9=A2=98=20#3268?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/app-select/index.vue | 542 ++++++++---------- .../components/app-select/usePagination.js | 51 ++ 2 files changed, 304 insertions(+), 289 deletions(-) create mode 100644 src/frontend/src/components/app-select/usePagination.js diff --git a/src/frontend/src/components/app-select/index.vue b/src/frontend/src/components/app-select/index.vue index 5798a54fae..ce036beffa 100644 --- a/src/frontend/src/components/app-select/index.vue +++ b/src/frontend/src/components/app-select/index.vue @@ -27,20 +27,20 @@