feat: 删除页眉下方的标题和说明内容
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, message, Modal } from 'ant-design-vue/lib';
|
import { Form, message, Modal } from 'ant-design-vue/lib';
|
||||||
@@ -18,10 +17,6 @@ import useI18n from '@/hooks/useI18n';
|
|||||||
import { getConfigInfo, updateConfig } from '@/api/configManage/config';
|
import { getConfigInfo, updateConfig } from '@/api/configManage/config';
|
||||||
import useNeInfoStore from '@/store/modules/neinfo';
|
import useNeInfoStore from '@/store/modules/neinfo';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -232,8 +227,8 @@ let modalState: ModalStateType = reactive({
|
|||||||
visibleByEdit: false,
|
visibleByEdit: false,
|
||||||
title: '任务设置',
|
title: '任务设置',
|
||||||
from: {
|
from: {
|
||||||
configTag: "",
|
configTag: '',
|
||||||
autoBackupTime: "",
|
autoBackupTime: '',
|
||||||
},
|
},
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
});
|
});
|
||||||
@@ -250,8 +245,8 @@ function fnModalVisibleByEdit() {
|
|||||||
modalState.confirmLoading = false;
|
modalState.confirmLoading = false;
|
||||||
hide();
|
hide();
|
||||||
if (res.code === RESULT_CODE_SUCCESS) {
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
modalState.from.configTag = res.data.configTag
|
modalState.from.configTag = res.data.configTag;
|
||||||
modalState.from.autoBackupTime = res.data.value
|
modalState.from.autoBackupTime = res.data.value;
|
||||||
modalState.title = t('views.configManage.backupManage.setBackupTask');
|
modalState.title = t('views.configManage.backupManage.setBackupTask');
|
||||||
modalState.visibleByEdit = true;
|
modalState.visibleByEdit = true;
|
||||||
} else {
|
} else {
|
||||||
@@ -264,21 +259,21 @@ function fnModalVisibleByEdit() {
|
|||||||
const modalStateFrom = Form.useForm(
|
const modalStateFrom = Form.useForm(
|
||||||
modalState.from,
|
modalState.from,
|
||||||
reactive({
|
reactive({
|
||||||
autoBackupTime: [{ required: true, message: '备份时间不能为空' }],
|
autoBackupTime: [{ required: true, message: '备份时间不能为空' }],
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
/**
|
/**
|
||||||
* 对话框弹出确认执行函数
|
* 对话框弹出确认执行函数
|
||||||
* 进行表达规则校验
|
* 进行表达规则校验
|
||||||
*/
|
*/
|
||||||
function fnModalOk() {
|
function fnModalOk() {
|
||||||
modalStateFrom
|
modalStateFrom
|
||||||
.validate()
|
.validate()
|
||||||
.then(e => {
|
.then(e => {
|
||||||
modalState.confirmLoading = true;
|
modalState.confirmLoading = true;
|
||||||
const from = toRaw(modalState.from);
|
const from = toRaw(modalState.from);
|
||||||
const hide = message.loading({ content: t('common.loading') });
|
const hide = message.loading({ content: t('common.loading') });
|
||||||
updateConfig(from.configTag, {value: from.autoBackupTime})
|
updateConfig(from.configTag, { value: from.autoBackupTime })
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code === RESULT_CODE_SUCCESS) {
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
message.success({
|
message.success({
|
||||||
@@ -320,7 +315,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
@@ -334,12 +329,12 @@ onMounted(() => {
|
|||||||
:label="t('views.configManage.backupManage.neType')"
|
:label="t('views.configManage.backupManage.neType')"
|
||||||
name="neType "
|
name="neType "
|
||||||
>
|
>
|
||||||
<a-auto-complete
|
<a-auto-complete
|
||||||
v-model:value="queryParams.neType"
|
v-model:value="queryParams.neType"
|
||||||
:options="useNeInfoStore().getNeSelectOtions"
|
:options="useNeInfoStore().getNeSelectOtions"
|
||||||
allow-clear
|
allow-clear
|
||||||
:placeholder="t('views.configManage.backupManage.neTypePlease')"
|
:placeholder="t('views.configManage.backupManage.neTypePlease')"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :lg="6" :md="12" :xs="24">
|
<a-col :lg="6" :md="12" :xs="24">
|
||||||
@@ -461,17 +456,17 @@ onMounted(() => {
|
|||||||
>
|
>
|
||||||
<a-form name="modalStateFrom" layout="horizontal">
|
<a-form name="modalStateFrom" layout="horizontal">
|
||||||
<a-form-item
|
<a-form-item
|
||||||
label="自动备份任务备份时间(小时)"
|
label="自动备份任务备份时间(小时)"
|
||||||
name="autoBackupTime"
|
name="autoBackupTime"
|
||||||
v-bind="modalStateFrom.validateInfos.autoBackupTime"
|
v-bind="modalStateFrom.validateInfos.autoBackupTime"
|
||||||
>
|
>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modalState.from.autoBackupTime"
|
v-model:value="modalState.from.autoBackupTime"
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="备份任务执行单位是小时"
|
placeholder="备份任务执行单位是小时"
|
||||||
>
|
>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</PageContainer>
|
</PageContainer>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted } from 'vue';
|
import { reactive, ref, onMounted } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Modal, message } from 'ant-design-vue/lib';
|
import { Modal, message } from 'ant-design-vue/lib';
|
||||||
@@ -18,12 +17,7 @@ import useNeInfoStore from '@/store/modules/neinfo';
|
|||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { toRaw } from 'vue';
|
import { toRaw } from 'vue';
|
||||||
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
|
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
|
||||||
import { parseFirstUpper } from '@/utils/parse-utils';
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元类型选择 type,id */
|
/**网元类型选择 type,id */
|
||||||
let neTypeSelect = ref<string[]>(['', '']);
|
let neTypeSelect = ref<string[]>(['', '']);
|
||||||
@@ -1028,7 +1022,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
:body-style="{ marginBottom: '24px', paddingBottom: 0 }"
|
:body-style="{ marginBottom: '24px', paddingBottom: 0 }"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, message } from 'ant-design-vue/lib';
|
import { Form, message } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -13,10 +12,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
|
|||||||
import { FileType } from 'ant-design-vue/lib/upload/interface';
|
import { FileType } from 'ant-design-vue/lib/upload/interface';
|
||||||
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
|
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -319,7 +314,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -26,10 +25,6 @@ import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
|
|||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import useNeInfoStore from '@/store/modules/neinfo';
|
import useNeInfoStore from '@/store/modules/neinfo';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**表格所需option */
|
/**表格所需option */
|
||||||
const neManageOption = reactive({
|
const neManageOption = reactive({
|
||||||
@@ -653,7 +648,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, message, Modal } from 'ant-design-vue/lib';
|
import { Form, message, Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -25,10 +24,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
|
|||||||
import { FileType } from 'ant-design-vue/lib/upload/interface';
|
import { FileType } from 'ant-design-vue/lib/upload/interface';
|
||||||
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
|
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -588,7 +583,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
@@ -23,9 +22,6 @@ import { writeSheet } from '@/utils/execl-utils';
|
|||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import { readLoalXlsx } from '@/utils/execl-utils';
|
import { readLoalXlsx } from '@/utils/execl-utils';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**记录开始结束时间 */
|
/**记录开始结束时间 */
|
||||||
let queryRangePicker = ref<[string, string]>(['', '']);
|
let queryRangePicker = ref<[string, string]>(['', '']);
|
||||||
@@ -735,7 +731,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, Modal, message } from 'ant-design-vue/lib';
|
import { Form, message } from 'ant-design-vue/lib';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import {
|
import {
|
||||||
getForwardSet,
|
getForwardSet,
|
||||||
@@ -12,10 +11,6 @@ import {
|
|||||||
} from '@/api/faultManage/faultSetting';
|
} from '@/api/faultManage/faultSetting';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**对象信息状态类型 */
|
/**对象信息状态类型 */
|
||||||
type ModalStateType = {
|
type ModalStateType = {
|
||||||
@@ -165,7 +160,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="8">
|
<a-col :span="8">
|
||||||
<!-- 日志设置 -->
|
<!-- 日志设置 -->
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import dayjs, { Dayjs } from 'dayjs';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
@@ -12,19 +10,13 @@ import {
|
|||||||
listAct,
|
listAct,
|
||||||
updateConfirm,
|
updateConfirm,
|
||||||
cancelConfirm,
|
cancelConfirm,
|
||||||
exportAll
|
exportAll,
|
||||||
} from '@/api/faultManage/historyAlarm';
|
} from '@/api/faultManage/historyAlarm';
|
||||||
import useNeInfoStore from '@/store/modules/neinfo';
|
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import saveAs from 'file-saver';
|
import saveAs from 'file-saver';
|
||||||
import { writeSheet } from '@/utils/execl-utils';
|
import { writeSheet } from '@/utils/execl-utils';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import { readLoalXlsx } from '@/utils/execl-utils';
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
type RangeValue = [Dayjs, Dayjs];
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**记录开始结束时间 */
|
/**记录开始结束时间 */
|
||||||
let queryRangePicker = ref<[string, string]>(['', '']);
|
let queryRangePicker = ref<[string, string]>(['', '']);
|
||||||
@@ -469,33 +461,30 @@ function fnCancelConfirm() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出全部
|
* 导出全部
|
||||||
*/
|
*/
|
||||||
function fnExportAll(){
|
function fnExportAll() {
|
||||||
const key = 'exportAlarmHis';
|
const key = 'exportAlarmHis';
|
||||||
message.loading({ content: '请稍等...', key });
|
message.loading({ content: '请稍等...', key });
|
||||||
exportAll(queryParams)
|
exportAll(queryParams).then(res => {
|
||||||
.then(res => {
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
if (res.code === RESULT_CODE_SUCCESS) {
|
message.success({
|
||||||
message.success({
|
content: `已完成导出`,
|
||||||
content: `已完成导出`,
|
key,
|
||||||
key,
|
duration: 3,
|
||||||
duration: 3,
|
});
|
||||||
});
|
writeSheet(res.data, 'alarm').then(fileBlob =>
|
||||||
writeSheet(res.data, 'alarm').then(fileBlob =>
|
saveAs(fileBlob, `history-alarm_${Date.now()}.xlsx`)
|
||||||
saveAs(fileBlob, `history-alarm_${Date.now()}.xlsx`)
|
);
|
||||||
);
|
} else {
|
||||||
} else {
|
message.error({
|
||||||
message.error({
|
content: `${res.msg}`,
|
||||||
content: `${res.msg}`,
|
key,
|
||||||
key,
|
duration: 3,
|
||||||
duration: 3,
|
});
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -540,7 +529,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -13,10 +12,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -204,7 +199,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -13,10 +12,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -201,7 +196,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, Modal, message } from 'ant-design-vue/lib';
|
import { Form, Modal, message } from 'ant-design-vue/lib';
|
||||||
@@ -23,10 +22,6 @@ import saveAs from 'file-saver';
|
|||||||
import { writeSheet } from '@/utils/execl-utils';
|
import { writeSheet } from '@/utils/execl-utils';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**对象信息状态类型 */
|
/**对象信息状态类型 */
|
||||||
type ModalStateType = {
|
type ModalStateType = {
|
||||||
@@ -414,7 +409,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="8">
|
<a-col :span="8">
|
||||||
<!-- 日志设置 -->
|
<!-- 日志设置 -->
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -10,10 +9,6 @@ import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
|||||||
import { listMML } from '@/api/logManage/mml';
|
import { listMML } from '@/api/logManage/mml';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**记录开始结束时间 */
|
/**记录开始结束时间 */
|
||||||
let queryRangePicker = ref<[string, string]>(['', '']);
|
let queryRangePicker = ref<[string, string]>(['', '']);
|
||||||
@@ -168,7 +163,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
@@ -12,10 +11,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -207,7 +202,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -12,10 +11,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -196,7 +191,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, message } from 'ant-design-vue/lib';
|
import { Form, message } from 'ant-design-vue/lib';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
@@ -8,10 +7,6 @@ import { getOperationSet, updateOperationSet } from '@/api/mmlManage/mmlSet';
|
|||||||
import { regExpIPv4 } from '@/utils/regular-utils';
|
import { regExpIPv4 } from '@/utils/regular-utils';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**对象信息状态类型 */
|
/**对象信息状态类型 */
|
||||||
type ModalStateType = {
|
type ModalStateType = {
|
||||||
@@ -94,7 +89,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="8">
|
<a-col :span="8">
|
||||||
<!-- 接口设置 -->
|
<!-- 接口设置 -->
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
@@ -10,10 +9,6 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getMMLByNE, sendMMlByNE } from '@/api/mmlManage/neOperate';
|
import { getMMLByNE, sendMMlByNE } from '@/api/mmlManage/neOperate';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neCascaderOtions = ref<Record<string, any>[]>([]);
|
let neCascaderOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -315,7 +310,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="6">
|
<a-col :span="6">
|
||||||
<!-- 命令导航 -->
|
<!-- 命令导航 -->
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
@@ -10,10 +9,6 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getMMLByOMC, sendMMlByOMC } from '@/api/mmlManage/omcOperate';
|
import { getMMLByOMC, sendMMlByOMC } from '@/api/mmlManage/omcOperate';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -306,7 +301,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="6">
|
<a-col :span="6">
|
||||||
<!-- 命令导航 -->
|
<!-- 命令导航 -->
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
@@ -10,10 +9,6 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getMMLByUDM, sendMMlByUDM } from '@/api/mmlManage/udmOperate';
|
import { getMMLByUDM, sendMMlByUDM } from '@/api/mmlManage/udmOperate';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -306,7 +301,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="6">
|
<a-col :span="6">
|
||||||
<!-- 命令导航 -->
|
<!-- 命令导航 -->
|
||||||
|
|||||||
15
src/views/monitor/cache/index.vue
vendored
15
src/views/monitor/cache/index.vue
vendored
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted } from 'vue';
|
import { reactive, ref, onMounted } from 'vue';
|
||||||
import {
|
import {
|
||||||
listCacheName,
|
listCacheName,
|
||||||
@@ -14,10 +13,6 @@ import { ColumnsType } from 'ant-design-vue/lib/table/Table';
|
|||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
import { hasPermissions } from '@/plugins/auth-user';
|
import { hasPermissions } from '@/plugins/auth-user';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**请求点击 */
|
/**请求点击 */
|
||||||
let isClick = ref<boolean>(false);
|
let isClick = ref<boolean>(false);
|
||||||
@@ -271,15 +266,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
系统在缓存
|
|
||||||
<a-typography-text code>Redis</a-typography-text>
|
|
||||||
应用程序中的可控的缓存信息
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-row :gutter="20">
|
<a-row :gutter="20">
|
||||||
<a-col :lg="8" :md="8" :xs="24">
|
<a-col :lg="8" :md="8" :xs="24">
|
||||||
<a-card
|
<a-card
|
||||||
|
|||||||
15
src/views/monitor/cache/info.vue
vendored
15
src/views/monitor/cache/info.vue
vendored
@@ -14,9 +14,7 @@ import { CanvasRenderer } from 'echarts/renderers';
|
|||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { getCache } from '@/api/monitor/cache';
|
import { getCache } from '@/api/monitor/cache';
|
||||||
import { reactive, ref, onMounted } from 'vue';
|
import { reactive, ref, onMounted } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
echarts.use([
|
echarts.use([
|
||||||
ToolboxComponent,
|
ToolboxComponent,
|
||||||
@@ -27,9 +25,6 @@ echarts.use([
|
|||||||
LabelLayout,
|
LabelLayout,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**加载状态 */
|
/**加载状态 */
|
||||||
let loading = ref<boolean>(true);
|
let loading = ref<boolean>(true);
|
||||||
|
|
||||||
@@ -153,15 +148,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title" :loading="loading">
|
<PageContainer :loading="loading">
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
缓存
|
|
||||||
<a-typography-text code>Redis</a-typography-text>
|
|
||||||
应用程序的信息
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
title="基本信息"
|
title="基本信息"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -24,12 +24,8 @@ import { hasPermissions } from '@/plugins/auth-user';
|
|||||||
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
|
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
/**任务组名 */
|
/**任务组名 */
|
||||||
@@ -555,22 +551,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
<a-typography-text code>Nodejs</a-typography-text>
|
|
||||||
使用
|
|
||||||
<a-typography-text code>Bull</a-typography-text>
|
|
||||||
基于
|
|
||||||
<a-typography-text code>Redis</a-typography-text>
|
|
||||||
的任务队列。
|
|
||||||
<a-typography-text code>Golang</a-typography-text>
|
|
||||||
使用
|
|
||||||
<a-typography-text code>Cron</a-typography-text>
|
|
||||||
定时任务管理。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted } from 'vue';
|
||||||
import { reactive, ref, onMounted } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
import { forceLogout, listOnline } from '@/api/monitor/online';
|
import { forceLogout, listOnline } from '@/api/monitor/online';
|
||||||
@@ -9,10 +8,6 @@ import { SizeType } from 'ant-design-vue/lib/config-provider';
|
|||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -199,17 +194,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
登录用户
|
|
||||||
<a-typography-text code>Token</a-typography-text>
|
|
||||||
授权标识记录,存储在
|
|
||||||
<a-typography-text code>Redis</a-typography-text>
|
|
||||||
中,可撤销对用户的授权,拒绝用户请求并强制退出。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
@@ -256,11 +241,6 @@ onMounted(() => {
|
|||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
<a-card :bordered="false" :body-style="{ padding: '0px' }">
|
<a-card :bordered="false" :body-style="{ padding: '0px' }">
|
||||||
<!-- 插槽-卡片左侧侧 -->
|
|
||||||
<template #title>
|
|
||||||
{{ title }}
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<!-- 插槽-卡片右侧 -->
|
<!-- 插槽-卡片右侧 -->
|
||||||
<template #extra>
|
<template #extra>
|
||||||
<a-space :size="8" align="center">
|
<a-space :size="8" align="center">
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -11,10 +10,6 @@ import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
|||||||
import { listSession, logoutSession } from '@/api/monitor/session';
|
import { listSession, logoutSession } from '@/api/monitor/session';
|
||||||
import { diffValue, parseDateToStr } from '@/utils/date-utils';
|
import { diffValue, parseDateToStr } from '@/utils/date-utils';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -108,9 +103,9 @@ let tableColumns: ColumnsType = [
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
customRender(opt) {
|
customRender(opt) {
|
||||||
if (opt.value === 'online') {
|
if (opt.value === 'online') {
|
||||||
return t('views.monitor.session.online')
|
return t('views.monitor.session.online');
|
||||||
}
|
}
|
||||||
return t('views.monitor.session.offline')
|
return t('views.monitor.session.offline');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -157,14 +152,16 @@ function fnTableSize({ key }: MenuInfo) {
|
|||||||
function fnForceLogout(row: Record<string, string>) {
|
function fnForceLogout(row: Record<string, string>) {
|
||||||
Modal.confirm({
|
Modal.confirm({
|
||||||
title: t('common.tipTitle'),
|
title: t('common.tipTitle'),
|
||||||
content: t('views.monitor.session.logoutTip', {num: row.accountId}),
|
content: t('views.monitor.session.logoutTip', { num: row.accountId }),
|
||||||
onOk() {
|
onOk() {
|
||||||
const hide = message.loading(t('common.loading'), 0);
|
const hide = message.loading(t('common.loading'), 0);
|
||||||
logoutSession(row.id)
|
logoutSession(row.id)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
if (res.code === RESULT_CODE_SUCCESS) {
|
if (res.code === RESULT_CODE_SUCCESS) {
|
||||||
message.success({
|
message.success({
|
||||||
content: t('views.monitor.session.logoutSuccess', {num: row.accountId}),
|
content: t('views.monitor.session.logoutSuccess', {
|
||||||
|
num: row.accountId,
|
||||||
|
}),
|
||||||
duration: 3,
|
duration: 3,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@@ -201,7 +198,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
@@ -211,7 +208,10 @@ onMounted(() => {
|
|||||||
<a-form :model="queryParams" name="queryParams" layout="horizontal">
|
<a-form :model="queryParams" name="queryParams" layout="horizontal">
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :lg="6" :md="12" :xs="24">
|
<a-col :lg="6" :md="12" :xs="24">
|
||||||
<a-form-item :label="t('views.monitor.session.userName')" name="accountId ">
|
<a-form-item
|
||||||
|
:label="t('views.monitor.session.userName')"
|
||||||
|
name="accountId "
|
||||||
|
>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="queryParams.accountId"
|
v-model:value="queryParams.accountId"
|
||||||
allow-clear
|
allow-clear
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted } from 'vue';
|
import { reactive, ref, onMounted } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
import { getSystemInfo } from '@/api/monitor/system';
|
import { getSystemInfo } from '@/api/monitor/system';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**加载状态 */
|
/**加载状态 */
|
||||||
let loading = ref<boolean>(true);
|
let loading = ref<boolean>(true);
|
||||||
@@ -98,11 +93,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title" :loading="loading">
|
<PageContainer :loading="loading">
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph> 服务器与应用程序的信息 </a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
title="项目信息"
|
title="项目信息"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form, notification } from 'ant-design-vue/lib';
|
import { message, Modal, Form, notification } from 'ant-design-vue/lib';
|
||||||
@@ -24,10 +23,6 @@ import useI18n from '@/hooks/useI18n';
|
|||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import { saveAs } from 'file-saver';
|
import { saveAs } from 'file-saver';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -641,7 +636,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
@@ -11,10 +10,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -173,7 +168,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
@@ -11,10 +10,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -194,7 +189,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form, notification } from 'ant-design-vue/lib';
|
import { message, Modal, Form, notification } from 'ant-design-vue/lib';
|
||||||
@@ -24,10 +23,6 @@ import useI18n from '@/hooks/useI18n';
|
|||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import saveAs from 'file-saver';
|
import saveAs from 'file-saver';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -810,7 +805,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message } from 'ant-design-vue/lib';
|
import { message } from 'ant-design-vue/lib';
|
||||||
@@ -11,10 +10,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neOtions = ref<Record<string, any>[]>([]);
|
let neOtions = ref<Record<string, any>[]>([]);
|
||||||
@@ -269,7 +264,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -341,7 +336,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -341,7 +336,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -13,10 +12,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -137,7 +132,7 @@ let tableColumns: ColumnsType = [
|
|||||||
if (!opt.value) return '';
|
if (!opt.value) return '';
|
||||||
return parseDateToStr(opt.value);
|
return parseDateToStr(opt.value);
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
/**表格分页器参数 */
|
/**表格分页器参数 */
|
||||||
@@ -206,7 +201,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -341,7 +336,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -341,7 +336,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -341,7 +336,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, message, Modal } from 'ant-design-vue/lib';
|
import { Form, message, Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -22,10 +21,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import { regExpIPv4, regExpPort } from '@/utils/regular-utils';
|
import { regExpIPv4, regExpPort } from '@/utils/regular-utils';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t, currentLocale } = useI18n();
|
const { t, currentLocale } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -597,7 +592,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
@@ -20,10 +19,6 @@ import { parseDateToStr } from '@/utils/date-utils';
|
|||||||
import useDictStore from '@/store/modules/dict';
|
import useDictStore from '@/store/modules/dict';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -454,13 +449,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
系统内可配置的参数变量。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -20,10 +19,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import { parseDataToTree } from '@/utils/parse-tree-utils';
|
import { parseDataToTree } from '@/utils/parse-tree-utils';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -405,11 +400,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph> 给予用户部门标记 </a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
@@ -21,12 +21,8 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
|
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
/**字典状态 */
|
/**字典状态 */
|
||||||
@@ -457,13 +453,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
数据字典类型,数据名称对应的代码值映射数据。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
@@ -18,10 +17,6 @@ import { parseDateToStr } from '@/utils/date-utils';
|
|||||||
import useDictStore from '@/store/modules/dict';
|
import useDictStore from '@/store/modules/dict';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -350,15 +345,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
对登录进行日志收集,登录锁定的信息存入
|
|
||||||
<a-typography-text code>Redis</a-typography-text>
|
|
||||||
可对登录账号进行解锁。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
@@ -17,10 +16,6 @@ import { parseDateToStr } from '@/utils/date-utils';
|
|||||||
import useDictStore from '@/store/modules/dict';
|
import useDictStore from '@/store/modules/dict';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -383,13 +378,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
对接口请求进行日志收集,统计高频接口分析优化等操作。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -6,8 +6,7 @@ import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
|
|||||||
import { ColumnsType } from 'ant-design-vue/lib/table';
|
import { ColumnsType } from 'ant-design-vue/lib/table';
|
||||||
import IconFont from '@/components/IconFont/index.vue';
|
import IconFont from '@/components/IconFont/index.vue';
|
||||||
import { iconFonts } from '@/assets/js/icon_font_8d5l8fzk5b87iudi';
|
import { iconFonts } from '@/assets/js/icon_font_8d5l8fzk5b87iudi';
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import {
|
import {
|
||||||
addMenu,
|
addMenu,
|
||||||
delMenu,
|
delMenu,
|
||||||
@@ -29,14 +28,10 @@ import {
|
|||||||
import useDictStore from '@/store/modules/dict';
|
import useDictStore from '@/store/modules/dict';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**字体图标可选择数据 */
|
/**字体图标可选择数据 */
|
||||||
let icons = reactive(iconFonts.map(item => ({ value: item, label: item })));
|
let icons = reactive(iconFonts.map(item => ({ value: item, label: item })));
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
/**菜单状态 */
|
/**菜单状态 */
|
||||||
@@ -470,13 +465,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
动态路由菜单,根节点下不要创建菜单哦
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -19,10 +18,6 @@ import { parseDateToStr } from '@/utils/date-utils';
|
|||||||
import useDictStore from '@/store/modules/dict';
|
import useDictStore from '@/store/modules/dict';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -412,11 +407,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph> 给予用户岗位标记 </a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
@@ -27,12 +27,8 @@ import { hasPermissions } from '@/plugins/auth-user';
|
|||||||
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
|
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
/**状态 */
|
/**状态 */
|
||||||
@@ -709,13 +705,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph>
|
|
||||||
给予用户角色标记,可分配给用户多个角色,分配数据权限需要关联部门数据表进行相关配置生效。
|
|
||||||
</a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
import { reactive, ref, onMounted, toRaw } from 'vue';
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal, Form } from 'ant-design-vue/lib';
|
import { message, Modal, Form } from 'ant-design-vue/lib';
|
||||||
@@ -34,10 +33,6 @@ import useUserStore from '@/store/modules/user';
|
|||||||
import { DataNode } from 'ant-design-vue/lib/tree';
|
import { DataNode } from 'ant-design-vue/lib/tree';
|
||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>(route.meta.title ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -785,11 +780,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<template #content>
|
|
||||||
<a-typography-paragraph> 所有系统用户管理列表 </a-typography-paragraph>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { message, Modal } from 'ant-design-vue/lib';
|
import { message, Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
|
|||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**查询参数 */
|
/**查询参数 */
|
||||||
let queryParams = reactive({
|
let queryParams = reactive({
|
||||||
@@ -341,7 +336,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useRoute } from 'vue-router';
|
import { reactive, onMounted, toRaw } from 'vue';
|
||||||
import { reactive, ref, onMounted, toRaw } from 'vue';
|
|
||||||
import { PageContainer } from '@ant-design-vue/pro-layout';
|
import { PageContainer } from '@ant-design-vue/pro-layout';
|
||||||
import { Form, message, Modal } from 'ant-design-vue/lib';
|
import { Form, message, Modal } from 'ant-design-vue/lib';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
@@ -22,10 +21,6 @@ import useDictStore from '@/store/modules/dict';
|
|||||||
import { regExpIPv4, regExpPort } from '@/utils/regular-utils';
|
import { regExpIPv4, regExpPort } from '@/utils/regular-utils';
|
||||||
const { getDict } = useDictStore();
|
const { getDict } = useDictStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const route = useRoute();
|
|
||||||
|
|
||||||
/**路由标题 */
|
|
||||||
let title = ref<string>((route.meta.title as string) ?? '标题');
|
|
||||||
|
|
||||||
/**字典数据 */
|
/**字典数据 */
|
||||||
let dict: {
|
let dict: {
|
||||||
@@ -521,7 +516,7 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<PageContainer :title="title">
|
<PageContainer>
|
||||||
<a-card
|
<a-card
|
||||||
v-show="tableState.seached"
|
v-show="tableState.seached"
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
@@ -531,7 +526,10 @@ onMounted(() => {
|
|||||||
<a-form :model="queryParams" name="queryParams" layout="horizontal">
|
<a-form :model="queryParams" name="queryParams" layout="horizontal">
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :lg="6" :md="12" :xs="24">
|
<a-col :lg="6" :md="12" :xs="24">
|
||||||
<a-form-item :label="t('views.traceManage.task.neType')" name="neType ">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.neType')"
|
||||||
|
name="neType "
|
||||||
|
>
|
||||||
<a-auto-complete
|
<a-auto-complete
|
||||||
v-model:value="queryParams.neType"
|
v-model:value="queryParams.neType"
|
||||||
:options="useNeInfoStore().getNeSelectOtions"
|
:options="useNeInfoStore().getNeSelectOtions"
|
||||||
@@ -683,7 +681,10 @@ onMounted(() => {
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item :label="t('views.traceManage.task.neType')" name="neType">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.neType')"
|
||||||
|
name="neType"
|
||||||
|
>
|
||||||
<a-cascader
|
<a-cascader
|
||||||
:value="modalState.neType"
|
:value="modalState.neType"
|
||||||
:options="useNeInfoStore().getNeCascaderOtions"
|
:options="useNeInfoStore().getNeCascaderOtions"
|
||||||
@@ -695,7 +696,10 @@ onMounted(() => {
|
|||||||
|
|
||||||
<!-- 用户跟踪 -->
|
<!-- 用户跟踪 -->
|
||||||
<template v-if="modalState.from.traceType === 'UE'">
|
<template v-if="modalState.from.traceType === 'UE'">
|
||||||
<a-form-item :label="t('views.traceManage.task.msisdn')" name="msisdn">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.msisdn')"
|
||||||
|
name="msisdn"
|
||||||
|
>
|
||||||
{{ modalState.from.msisdn }}
|
{{ modalState.from.msisdn }}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="t('views.traceManage.task.imsi')" name="imsi">
|
<a-form-item :label="t('views.traceManage.task.imsi')" name="imsi">
|
||||||
@@ -707,25 +711,40 @@ onMounted(() => {
|
|||||||
<template v-if="modalState.from.traceType === 'Interface'">
|
<template v-if="modalState.from.traceType === 'Interface'">
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item :label="t('views.traceManage.task.srcIp')" name="srcIp">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.srcIp')"
|
||||||
|
name="srcIp"
|
||||||
|
>
|
||||||
{{ modalState.from.srcIp }}
|
{{ modalState.from.srcIp }}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :lg="12" :md="12" :xs="24">
|
<a-col :lg="12" :md="12" :xs="24">
|
||||||
<a-form-item :label="t('views.traceManage.task.dstIp')" name="dstIp">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.dstIp')"
|
||||||
|
name="dstIp"
|
||||||
|
>
|
||||||
{{ modalState.from.dstIp }}
|
{{ modalState.from.dstIp }}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-form-item :label="t('views.traceManage.task.interfaces')" name="endTime">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.interfaces')"
|
||||||
|
name="endTime"
|
||||||
|
>
|
||||||
{{ modalState.neTypeInterfaceSelect }}
|
{{ modalState.neTypeInterfaceSelect }}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="t('views.traceManage.task.signalPort')" name="endTime">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.signalPort')"
|
||||||
|
name="endTime"
|
||||||
|
>
|
||||||
{{ modalState.from.signalPort }}
|
{{ modalState.from.signalPort }}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<a-form-item :label="t('views.traceManage.task.rangePicker')" name="endTime">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.rangePicker')"
|
||||||
|
name="endTime"
|
||||||
|
>
|
||||||
<a-range-picker
|
<a-range-picker
|
||||||
disabled
|
disabled
|
||||||
:value="modalState.timeRangePicker"
|
:value="modalState.timeRangePicker"
|
||||||
@@ -737,7 +756,10 @@ onMounted(() => {
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
></a-range-picker>
|
></a-range-picker>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="t('views.traceManage.task.comment')" name="comment">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.comment')"
|
||||||
|
name="comment"
|
||||||
|
>
|
||||||
{{ modalState.from.comment }}
|
{{ modalState.from.comment }}
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -940,7 +962,10 @@ onMounted(() => {
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
></a-range-picker>
|
></a-range-picker>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="t('views.traceManage.task.comment')" name="comment">
|
<a-form-item
|
||||||
|
:label="t('views.traceManage.task.comment')"
|
||||||
|
name="comment"
|
||||||
|
>
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="modalState.from.comment"
|
v-model:value="modalState.from.comment"
|
||||||
:auto-size="{ minRows: 2, maxRows: 6 }"
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
||||||
|
|||||||
Reference in New Issue
Block a user