feat: 网元信息免密直连授权操作

This commit is contained in:
TsMask
2024-04-30 19:56:17 +08:00
parent 03cd06e835
commit 83bdf289fa

View File

@@ -1,12 +1,12 @@
<script setup lang="ts">
import { reactive, onMounted, toRaw, watch } from 'vue';
import { message, Form } from 'ant-design-vue/lib';
import { message, Form, Modal } from 'ant-design-vue/lib';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useNeInfoStore from '@/store/modules/neinfo';
import { getNeInfo, addNeInfo, updateNeInfo } from '@/api/ne/neInfo';
import { NE_TYPE_LIST } from '@/constants/ne-constants';
import { testNeHost } from '@/api/ne/neHost';
import { neHostAuthorizedRSA, testNeHost } from '@/api/ne/neHost';
import useDictStore from '@/store/modules/dict';
const { getDict } = useDictStore();
const { t } = useI18n();
@@ -37,10 +37,10 @@ let dict: {
});
/**
* 对话框弹出测试连接
* 测试主机连接
*/
function fnModalTest(row: Record<string, any>) {
if (modalState.confirmLoading) return;
function fnHostTest(row: Record<string, any>) {
if (modalState.confirmLoading || !row.addr) return;
modalState.confirmLoading = true;
const hide = message.loading(t('common.loading'), 0);
testNeHost(row)
@@ -63,6 +63,33 @@ function fnModalTest(row: Record<string, any>) {
});
}
/**测试主机连接-免密直连 */
function fnHostAuthorized(row: Record<string, any>) {
if (modalState.confirmLoading) return;
Modal.confirm({
title: '提示',
content: '是否要配置免密直连?',
onOk: () => {
modalState.confirmLoading = true;
neHostAuthorizedRSA(row).then(res => {
modalState.confirmLoading = false;
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
content: `操作成功`,
duration: 2,
});
} else {
message.error({
content: `操作失败`,
duration: 2,
});
}
});
},
});
}
/**对话框对象信息状态类型 */
type ModalStateType = {
/**新增框或修改框是否显示 */
@@ -677,11 +704,20 @@ onMounted(() => {
<a-button
type="primary"
shape="round"
@click="fnModalTest(host)"
@click="fnHostTest(host)"
:loading="modalState.confirmLoading"
>
<template #icon><LinkOutlined /></template>
</a-button>
<a-button
type="link"
@click="fnHostAuthorized(host)"
:loading="modalState.confirmLoading"
v-if="host.hostType === 'ssh' && host.authMode !== '2'"
>
免密授权
</a-button>
</a-form-item>
</a-collapse-panel>
</a-collapse>