From 9225c1f5a283d168ac39fb2838e81c696ae5df5c Mon Sep 17 00:00:00 2001 From: Yuikill <105910874+Yuikill@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:59:58 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=80=81=E4=BD=93=E9=AA=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?--bug=3D126418489=20(#3314)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 组件库国际化默认设置中文 * fix: 禁止编辑配置文件绝对路径与配置文件格式 * fix: 配置文件查看态体验优化 * fix: 配置模板新建文件后置顶绿底 * fix: 非配置模板列表收起抽屉导致吸顶失效 --- bcs-services/bcs-bscp/ui/src/i18n/en-us.ts | 2 + bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts | 2 + bcs-services/bcs-bscp/ui/src/main.ts | 2 +- bcs-services/bcs-bscp/ui/src/store/service.ts | 6 +- .../bcs-bscp/ui/src/store/template.ts | 6 +- .../client/components/search-selector.vue | 2 - .../section/component-info/column/index.vue | 1 - .../components/modify-group-publish.vue | 1 - .../config-list-with-templates.vue | 6 +- .../config-table-list/config-form.vue | 26 +- .../create-config/import-file/index.vue | 7 +- .../config-table-list/create-config/index.vue | 2 +- .../create-config/manual-create-kv.vue | 8 +- .../create-config/manual-create.vue | 7 +- .../config-table-list/edit-config.vue | 2 +- .../config-list/config-table-list/index.vue | 11 +- .../tables/table-with-kv.vue | 9 +- .../tables/table-with-templates.vue | 299 +++++++++--------- .../config-table-list/view-config.vue | 92 +++++- .../operations/add-configs/add-button.vue | 2 +- .../add-configs/create-new-config/index.vue | 5 + .../add-configs/import-configs/index.vue | 8 +- .../tables/common-config-table.vue | 24 +- .../package-detail/tables/config-in-all.vue | 6 +- .../tables/config-in-package.vue | 8 +- 25 files changed, 310 insertions(+), 234 deletions(-) diff --git a/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts b/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts index 629c727b82..3d8913d158 100644 --- a/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts +++ b/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts @@ -439,6 +439,8 @@ export default { 新建配置模板套餐: 'New configuration template package', '压缩包正在解压,请稍后': 'The compressed package is being decompressed, please wait', '确认恢复该配置项?': 'Confirm to restore the configuration item?', + '文件下载中,请稍后': 'File download in progress, please wait', + '配置文件绝对路径/创建人/修改人': 'Configuration file absolute path/creator/modifier', // 分组管理 新增分组: 'New group', diff --git a/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts b/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts index ee344a58c8..4ca355275d 100644 --- a/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts +++ b/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts @@ -439,6 +439,7 @@ export default { 已存在配置模板套餐: '已存在配置模板套餐', 新建配置模板套餐: '新建配置模板套餐', '压缩包正在解压,请稍后': '压缩包正在解压,请稍后', + '配置文件绝对路径/创建人/修改人': '配置文件绝对路径/创建人/修改人', // 分组管理 新增分组: '新增分组', @@ -590,6 +591,7 @@ export default { 批量移出套餐: '批量移出套餐', 从其他空间导入: '从其他空间导入', '确认恢复该配置项?': '确认恢复该配置项?', + '文件下载中,请稍后': '文件下载中,请稍后', // 脚本管理 全部脚本: '全部脚本', diff --git a/bcs-services/bcs-bscp/ui/src/main.ts b/bcs-services/bcs-bscp/ui/src/main.ts index 5aa0e24a25..d2ca24d430 100644 --- a/bcs-services/bcs-bscp/ui/src/main.ts +++ b/bcs-services/bcs-bscp/ui/src/main.ts @@ -43,7 +43,7 @@ auth().then(() => { .use(i18n) .use(router) .use(bkui, { - locale: getCookie('blueking_language') === 'zh-cn' ? zhCn : en, + locale: getCookie('blueking_language') === 'en' ? en : zhCn, }) .mount('#app'); }); diff --git a/bcs-services/bcs-bscp/ui/src/store/service.ts b/bcs-services/bcs-bscp/ui/src/store/service.ts index e6a19a503b..6201da74f0 100644 --- a/bcs-services/bcs-bscp/ui/src/store/service.ts +++ b/bcs-services/bcs-bscp/ui/src/store/service.ts @@ -54,8 +54,8 @@ export default defineStore('service', () => { user_group: 'root', }); - // 批量上传的ids - const batchUploadIds = ref([]); + // 置顶的ids + const topIds = ref([]); return { appData, @@ -63,7 +63,7 @@ export default defineStore('service', () => { hasEditServicePerm, checkPermBeforeOperate, lastCreatePermission, - batchUploadIds, + topIds, isFileType, }; }); diff --git a/bcs-services/bcs-bscp/ui/src/store/template.ts b/bcs-services/bcs-bscp/ui/src/store/template.ts index aca0224461..27087bad42 100644 --- a/bcs-services/bcs-bscp/ui/src/store/template.ts +++ b/bcs-services/bcs-bscp/ui/src/store/template.ts @@ -22,8 +22,8 @@ export default defineStore('template', () => { const versionListPageShouldOpenEdit = ref(false); // 配置页面是否需要打开查看版本面板 const versionListPageShouldOpenView = ref(false); - // 批量上传配置的ids - const batchUploadIds = ref([]); + // 置顶id + const topIds = ref([]); return { templateSpaceList, @@ -35,6 +35,6 @@ export default defineStore('template', () => { needRefreshMenuFlag, versionListPageShouldOpenEdit, versionListPageShouldOpenView, - batchUploadIds, + topIds, }; }); diff --git a/bcs-services/bcs-bscp/ui/src/views/space/client/components/search-selector.vue b/bcs-services/bcs-bscp/ui/src/views/space/client/components/search-selector.vue index d710636913..1af0cbaf4e 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/client/components/search-selector.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/client/components/search-selector.vue @@ -746,7 +746,6 @@ }; const handleClickSearch = () => { - console.log(1); // 处理有条件处于编辑状时 点击查询框 编辑态条件未保存 // 新增态 处理枚举型点击搜索框取消枚举 if (editConditionItem.value || isShowSearchInput.value) { @@ -836,7 +835,6 @@ }; const handleChildSelectorClickOutside = () => { - console.log('click outside'); if (editConditionItem.value) { // 编辑态 取消编辑 editConditionItem.value!.isEdit = false; diff --git a/bcs-services/bcs-bscp/ui/src/views/space/client/statistics/section/component-info/column/index.vue b/bcs-services/bcs-bscp/ui/src/views/space/client/statistics/section/component-info/column/index.vue index 63198637ba..fce235b833 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/client/statistics/section/component-info/column/index.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/client/statistics/section/component-info/column/index.vue @@ -57,7 +57,6 @@ }; const handleDrillDown = (data: any) => { - console.log(data); isDrillDown.value = true; drillDownData.value = data.name; pieData.value = data.children; diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue index 1b810ead86..30cc53556a 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue @@ -201,7 +201,6 @@ // 判断是否需要对比上线版本 const handlePublishOrOpenDiff = () => { - console.log(groups.value, releasedGroups.value); if (diffableVersionList.value.length) { baseVersionId.value = diffableVersionList.value[0].id; isDiffSliderShow.value = true; diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-simple-list/config-list-with-templates.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-simple-list/config-list-with-templates.vue index 5bd548901c..4c725f78f2 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-simple-list/config-list-with-templates.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-simple-list/config-list-with-templates.vue @@ -3,7 +3,7 @@
@@ -17,7 +17,9 @@ :class="['config-item', { disabled: config.file_state === 'DELETE' }]" :key="config.id" @click="handleConfigClick(config, group.id)"> -
{{ config.name }}
+ + {{ config.path + config.name }} +
{{ getConfigTypeName(config.file_type) }}
diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue index b52768ad90..e8b73af379 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue @@ -4,7 +4,7 @@ @@ -12,14 +12,13 @@ v-model="localVal.memo" type="textarea" :maxlength="200" - :disabled="!editable" :placeholder="t('请输入')" :resize="true" @input="change" /> - {{ + {{ typeItem.name }} @@ -37,7 +36,6 @@ v-model="privilegeInputVal" type="number" :placeholder="t('请输入三位权限数字')" - :disabled="!editable" @blur="handlePrivilegeInputBlur" /> - -
+ +
@@ -164,7 +156,7 @@ const props = withDefaults( defineProps<{ config: IConfigEditParams; - editable: boolean; + isEdit: boolean; content: string | IFileConfigContentSummary; variables?: IVariableEditParams[]; bkBizId: string; @@ -174,7 +166,7 @@ isTpl?: boolean; // 是否未模板配置文件,非模板配置文件和模板配置文件的上传、下载接口参数有差异 }>(), { - editable: true, + isEdit: false, fileSizeLimit: 100, }, ); diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/index.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/index.vue index 8a64d20bf4..ec9e5f17c6 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/index.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/index.vue @@ -128,7 +128,6 @@ batchAddConfigList, } from '../../../../../../../../../api/config'; import { IConfigVersion, IConfigImportItem } from '../../../../../../../../../../types/config'; - import { storeToRefs } from 'pinia'; import { Message } from 'bkui-vue'; import createSamplePkg from '../../../../../../../../../utils/sample-file-pkg'; import ImportFromTemplate from './import-from-templates.vue'; @@ -142,7 +141,7 @@ const { t } = useI18n(); - const { batchUploadIds } = storeToRefs(useServiceStore()); + const serviceStore = useServiceStore(); const props = defineProps<{ show: boolean; @@ -266,7 +265,9 @@ variables: allVariables, }; const res = await batchAddConfigList(props.bkBizId, props.appId, query); - batchUploadIds.value = res.ids; + serviceStore.$patch((state) => { + state.topIds = res.ids; + }); } emits('update:show', false); setTimeout(() => { diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/index.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/index.vue index 0089b1736b..c8c65db353 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/index.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/index.vue @@ -74,7 +74,7 @@ appId: number; }>(); - const emits = defineEmits(['created', 'imported', 'uploaded']); + const emits = defineEmits(['created']); const buttonRef = ref(); const isPopoverOpen = ref(false); diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create-kv.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create-kv.vue index c80e24c766..2f43b9845f 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create-kv.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create-kv.vue @@ -27,6 +27,9 @@ import { createKv } from '../../../../../../../../api/config'; import useModalCloseConfirmation from '../../../../../../../../utils/hooks/use-modal-close-confirmation'; import ConfigForm from '../config-form-kv.vue'; + import useServiceStore from '../../../../../../../../store/service'; + + const serviceStore = useServiceStore(); const props = defineProps<{ show: boolean; @@ -83,7 +86,10 @@ configForm.value.value = configForm.value.value.replace(/^0+(?=\d|$)/, ''); } try { - await createKv(props.bkBizId, props.appId, { ...configForm.value }); + const res = await createKv(props.bkBizId, props.appId, { ...configForm.value }); + serviceStore.$patch((state) => { + state.topIds = [res.data.id]; + }); emits('confirm'); close(); Message({ diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create.vue index 84bc73b725..eb7619770e 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/manual-create.vue @@ -11,7 +11,7 @@ v-model:fileUploading="fileUploading" :config="configForm" :content="content" - :editable="true" + :is-edit="false" :bk-biz-id="props.bkBizId" :id="props.appId" :file-size-limit="spaceFeatureFlags.RESOURCE_LIMIT.maxFileSize" @@ -105,7 +105,10 @@ await updateConfigContent(props.bkBizId, props.appId, stringContent, sign); } const params = { ...configForm.value, ...{ sign, byte_size: size } }; - await createServiceConfigItem(props.appId, props.bkBizId, params); + const res = await createServiceConfigItem(props.appId, props.bkBizId, params); + serviceStore.$patch((state) => { + state.topIds = [res.data.id]; + }); emits('confirm'); close(); Message({ diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/edit-config.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/edit-config.vue index bcafbbd410..7897c7a7a8 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/edit-config.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/edit-config.vue @@ -13,7 +13,7 @@ v-model:fileUploading="fileUploading" :config="configForm" :content="content" - :editable="true" + :is-edit="true" :bk-biz-id="props.bkBizId" :id="props.appId" :file-size-limit="spaceFeatureFlags.RESOURCE_LIMIT.maxFileSize" diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/index.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/index.vue index 599c9b1b9f..43ef549dac 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/index.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/index.vue @@ -11,12 +11,7 @@
([]); const selectedItems = ref([]); - const refreshConfigList = (isBatchUpload = false) => { + const refreshConfigList = (createConfig = false) => { if (isFileType.value) { - tableRef.value.refresh(isBatchUpload); + tableRef.value.refresh(createConfig); refreshVariable(); } else { tableRef.value.refresh(); diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-kv.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-kv.vue index 5c01b2eb7c..9f558ab440 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-kv.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-kv.vue @@ -181,7 +181,7 @@ const serviceStore = useServiceStore(); const { versionData } = storeToRefs(configStore); const { checkPermBeforeOperate } = serviceStore; - const { permCheckLoading, hasEditServicePerm } = storeToRefs(serviceStore); + const { permCheckLoading, hasEditServicePerm, topIds } = storeToRefs(serviceStore); const { t } = useI18n(); const { pagination, updatePagination } = useTablePagination('tableWithKv'); @@ -303,6 +303,7 @@ params.sort = 'updated_at'; params.order = updateSortType.value.toUpperCase(); } + if (topIds.value.length > 0) params.ids = topIds.value.join(','); let res; if (isUnNamedVersion.value) { if (statusFilterChecked.value!.length > 0) { @@ -501,6 +502,9 @@ // 判断当前行是否是删除行 const getRowCls = (config: IConfigKvType) => { if (config.kv_state === 'DELETE') return 'delete-row'; + if (topIds.value.includes(config.id)) { + return 'new-row-marked'; + } }; defineExpose({ @@ -521,6 +525,9 @@ .cell { color: #c4c6cc !important; } + }; + tr.new-row-marked td { + background: #f2fff4 !important; } } } diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-templates.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-templates.vue index 0250b555d0..9fba1eb3de 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-templates.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/tables/table-with-templates.vue @@ -46,183 +46,178 @@
- - +