diff --git a/src/dashboard-front/src/language/lang.ts b/src/dashboard-front/src/language/lang.ts index e271809b8..f9f174be7 100644 --- a/src/dashboard-front/src/language/lang.ts +++ b/src/dashboard-front/src/language/lang.ts @@ -1373,6 +1373,12 @@ const lang: ILANG = { '编辑后端服务': ['Edit back-end services'], '去查看发布记录': ['Go to the release record'], '后端服务内容保存成功,正在发布到对应的环境': ['The back-end service content is saved successfully and is being published to the corresponding environment'], + '当前服务 {name},已绑定以下 {num} 个环境,所有修改都将发布到这些环境中:': ['The current service, {name}, is bound to the following {num} environments to which all changes will be published:'], + '当前服务': ['The current service'], + ',': [','], + '已绑定以下': ['is bound to the following'], + '个环境,所有修改都将发布到这些环境中:': ['environments to which all changes will be published:'], + '内容保存成功,正在发布至对应环境...': ['The content is saved successfully and is being published to the corresponding environment...'], '当前后端服务({name})已绑定以下 {num} 个环境,所有修改都将发布到这些环境中:{names}': ['The current backend service ({name}) has bound the following {num} environments to which all changes will be published: {names}'], '网关环境【prod】中的配置【后端服务地址】不合法。请在网关 `后端服务` 中进行配置。': ['The back-end service address configured in gateway environment prod is invalid. Please configure in Gateway back-end services.'], '最大 300s': ['Maximum 300s'], diff --git a/src/dashboard-front/src/views/backend-service/add.vue b/src/dashboard-front/src/views/backend-service/add.vue index 3334f2adc..9c8b6ffa8 100644 --- a/src/dashboard-front/src/views/backend-service/add.vue +++ b/src/dashboard-front/src/views/backend-service/add.vue @@ -163,6 +163,37 @@ + + + +
+
+ +
+
+ {{ t('内容保存成功,正在发布至对应环境...') }} +
+
+
+ {{ t('当前服务') }} {{ baseInfo.name }}{{ t(',') }} + {{ t('已绑定以下') }} {{ publishDialog.stageNames?.length }} {{ t('个环境,所有修改都将发布到这些环境中:') }} +
+
+
+ {{ stage }} +
+
+
+ +
+
@@ -179,7 +210,7 @@ import { getBackendServiceDetail, } from '@/http'; import { useRouter } from 'vue-router'; -import { AngleUpFill } from 'bkui-vue/lib/icon'; +import { AngleUpFill, Success } from 'bkui-vue/lib/icon'; const props = defineProps({ editId: { @@ -215,6 +246,10 @@ const isPublish = ref(false); const isSaveLoading = ref(false); const baseInfoRef = ref(null); const finaConfigs = ref([]); +const publishDialog = reactive({ + isShow: false, + stageNames: [], +}); // scheme 类型 const schemeList = [{ value: 'http' }, { value: 'https' }]; const sidesliderConfi = reactive({ @@ -390,19 +425,8 @@ const handleConfirm = async () => { }); if (stageNames?.length) { - InfoBox({ - title: t('后端服务内容保存成功,正在发布到对应的环境'), - infoType: 'success', - width: 482, - subTitle: t('当前后端服务({name})已绑定以下 {num} 个环境,所有修改都将发布到这些环境中:{names}', { name: baseInfo.value.name, num: stageNames?.length, names: stageNames?.join(',') }), - confirmText: t('去查看发布记录'), - cancelText: t('关闭'), - onConfirm: () => { - router.push({ - name: 'apigwReleaseHistory', - }); - }, - }); + publishDialog.isShow = true; + publishDialog.stageNames = stageNames; } else { InfoBox({ title: t('后端服务内容保存成功'), @@ -429,6 +453,12 @@ const handleConfirm = async () => { } }; +const toPublishLogs = () => { + router.push({ + name: 'apigwReleaseHistory', + }); +}; + const setInit = () => { stageConfig.value = stageList.value.map((item: any) => { const { name, id, description } = item; @@ -708,4 +738,64 @@ defineExpose({ } } } +.custom-main-dialog { + :deep(.bk-dialog-title) { + display: none; + } + :deep(.bk-modal-footer) { + display: none; + } + .dialog-content { + .publish-icon { + text-align: center; + margin-bottom: 18px; + font-size: 42px; + line-height: 32px; + } + .dialog-title { + font-size: 20px; + color: #313238; + text-align: center; + margin-bottom: 16px; + } + .dialog-main { + background: #F5F6FA; + border-radius: 2px; + margin-bottom: 25px; + padding: 12px 16px 18px; + .publish-tips { + font-size: 14px; + color: #63656E; + margin-bottom: 10px; + span { + font-weight: 700; + } + } + .publish-stages { + display: flex; + flex-wrap: wrap; + .stage-item { + font-size: 14px; + color: #63656E; + position: relative; + padding-left: 12px; + width: 33%; + &::after { + content: ' '; + position: absolute; + width: 4px; + height: 4px; + border-radius: 50%; + background: #63656E; + top: 10px; + left: 0; + } + } + } + } + .dialog-footer { + text-align: center; + } + } +} diff --git a/src/dashboard-front/src/views/operate-data/access-log/index.vue b/src/dashboard-front/src/views/operate-data/access-log/index.vue index 71a3d68e9..40cb7447c 100644 --- a/src/dashboard-front/src/views/operate-data/access-log/index.vue +++ b/src/dashboard-front/src/views/operate-data/access-log/index.vue @@ -58,10 +58,7 @@ v-model:modeValue="keyword" @search="handleSearch" @choose="handleChoose" - :class="[ - 'top-search-input', - localLanguage === 'en' ? 'top-search-input-en' : '', - ]" + class="top-search-input" /> @@ -943,20 +940,11 @@ onBeforeUnmount(() => { @media (max-width: 1753px) { :deep(.search-form) { - width: 700px !important; .ag-form-item-inline { margin-left: 0px !important; margin-top: 10px !important; } - - .top-search-input { - width: 526px; - } - - .top-search-input-en { - width: 460px; - } } } diff --git a/src/dashboard-front/src/views/stage/overview/detail-mode/resource-info.vue b/src/dashboard-front/src/views/stage/overview/detail-mode/resource-info.vue index 982f97daa..fc8535ae1 100644 --- a/src/dashboard-front/src/views/stage/overview/detail-mode/resource-info.vue +++ b/src/dashboard-front/src/views/stage/overview/detail-mode/resource-info.vue @@ -64,7 +64,16 @@ prop="path" sort > - +