feat: 删除页眉下方的标题和说明内容

This commit is contained in:
TsMask
2023-10-20 10:44:43 +08:00
parent 08167b3d0a
commit 3a7d127033
47 changed files with 167 additions and 470 deletions

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 useNeInfoStore from '@/store/modules/neinfo';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -232,8 +227,8 @@ let modalState: ModalStateType = reactive({
visibleByEdit: false,
title: '任务设置',
from: {
configTag: "",
autoBackupTime: "",
configTag: '',
autoBackupTime: '',
},
confirmLoading: false,
});
@@ -250,8 +245,8 @@ function fnModalVisibleByEdit() {
modalState.confirmLoading = false;
hide();
if (res.code === RESULT_CODE_SUCCESS) {
modalState.from.configTag = res.data.configTag
modalState.from.autoBackupTime = res.data.value
modalState.from.configTag = res.data.configTag;
modalState.from.autoBackupTime = res.data.value;
modalState.title = t('views.configManage.backupManage.setBackupTask');
modalState.visibleByEdit = true;
} else {
@@ -264,21 +259,21 @@ function fnModalVisibleByEdit() {
const modalStateFrom = Form.useForm(
modalState.from,
reactive({
autoBackupTime: [{ required: true, message: '备份时间不能为空' }],
autoBackupTime: [{ required: true, message: '备份时间不能为空' }],
})
);
/**
* 对话框弹出确认执行函数
* 进行表达规则校验
*/
function fnModalOk() {
function fnModalOk() {
modalStateFrom
.validate()
.then(e => {
modalState.confirmLoading = true;
const from = toRaw(modalState.from);
const hide = message.loading({ content: t('common.loading') });
updateConfig(from.configTag, {value: from.autoBackupTime})
updateConfig(from.configTag, { value: from.autoBackupTime })
.then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
@@ -320,7 +315,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"
@@ -334,12 +329,12 @@ onMounted(() => {
:label="t('views.configManage.backupManage.neType')"
name="neType "
>
<a-auto-complete
<a-auto-complete
v-model:value="queryParams.neType"
:options="useNeInfoStore().getNeSelectOtions"
allow-clear
:placeholder="t('views.configManage.backupManage.neTypePlease')"
/>
/>
</a-form-item>
</a-col>
<a-col :lg="6" :md="12" :xs="24">
@@ -461,17 +456,17 @@ onMounted(() => {
>
<a-form name="modalStateFrom" layout="horizontal">
<a-form-item
label="自动备份任务备份时间(小时)"
name="autoBackupTime"
v-bind="modalStateFrom.validateInfos.autoBackupTime"
>
<a-input
v-model:value="modalState.from.autoBackupTime"
allow-clear
placeholder="备份任务执行单位是小时"
>
</a-input>
</a-form-item>
label="自动备份任务备份时间(小时)"
name="autoBackupTime"
v-bind="modalStateFrom.validateInfos.autoBackupTime"
>
<a-input
v-model:value="modalState.from.autoBackupTime"
allow-clear
placeholder="备份任务执行单位是小时"
>
</a-input>
</a-form-item>
</a-form>
</a-modal>
</PageContainer>

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { toRaw } from 'vue';
import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import { parseFirstUpper } from '@/utils/parse-utils';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元类型选择 type,id */
let neTypeSelect = ref<string[]>(['', '']);
@@ -1028,7 +1022,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
:bordered="false"
:body-style="{ marginBottom: '24px', paddingBottom: 0 }"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { Form, message } from 'ant-design-vue/lib';
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 { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -319,7 +314,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { message, Modal, Form } from 'ant-design-vue/lib';
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 useNeInfoStore from '@/store/modules/neinfo';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**表格所需option */
const neManageOption = reactive({
@@ -653,7 +648,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { Form, message, Modal } from 'ant-design-vue/lib';
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 { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -588,7 +583,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { readLoalXlsx } from '@/utils/execl-utils';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**记录开始结束时间 */
let queryRangePicker = ref<[string, string]>(['', '']);
@@ -735,7 +731,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,8 +1,7 @@
<script setup lang="ts">
import { useRoute } 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 { 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 {
getForwardSet,
@@ -12,10 +11,6 @@ import {
} from '@/api/faultManage/faultSetting';
import useI18n from '@/hooks/useI18n';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**对象信息状态类型 */
type ModalStateType = {
@@ -165,7 +160,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-row :gutter="16">
<a-col :span="8">
<!-- 日志设置 -->

View File

@@ -1,6 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import dayjs, { Dayjs } from 'dayjs';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message, Modal } from 'ant-design-vue/lib';
@@ -12,19 +10,13 @@ import {
listAct,
updateConfirm,
cancelConfirm,
exportAll
exportAll,
} from '@/api/faultManage/historyAlarm';
import useNeInfoStore from '@/store/modules/neinfo';
import useI18n from '@/hooks/useI18n';
import saveAs from 'file-saver';
import { writeSheet } from '@/utils/execl-utils';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { readLoalXlsx } from '@/utils/execl-utils';
const { t } = useI18n();
const route = useRoute();
type RangeValue = [Dayjs, Dayjs];
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**记录开始结束时间 */
let queryRangePicker = ref<[string, string]>(['', '']);
@@ -469,33 +461,30 @@ function fnCancelConfirm() {
});
}
/**
* 导出全部
*/
function fnExportAll(){
function fnExportAll() {
const key = 'exportAlarmHis';
message.loading({ content: '请稍等...', key });
exportAll(queryParams)
.then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
content: `已完成导出`,
key,
duration: 3,
});
writeSheet(res.data, 'alarm').then(fileBlob =>
saveAs(fileBlob, `history-alarm_${Date.now()}.xlsx`)
);
} else {
message.error({
content: `${res.msg}`,
key,
duration: 3,
});
}
})
exportAll(queryParams).then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
content: `已完成导出`,
key,
duration: 3,
});
writeSheet(res.data, 'alarm').then(fileBlob =>
saveAs(fileBlob, `history-alarm_${Date.now()}.xlsx`)
);
} else {
message.error({
content: `${res.msg}`,
key,
duration: 3,
});
}
});
}
/**
@@ -540,7 +529,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { SizeType } from 'ant-design-vue/lib/config-provider';
@@ -13,10 +12,6 @@ import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -204,7 +199,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { SizeType } from 'ant-design-vue/lib/config-provider';
@@ -13,10 +12,6 @@ import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -201,7 +196,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { Form, Modal, message } from 'ant-design-vue/lib';
@@ -23,10 +22,6 @@ import saveAs from 'file-saver';
import { writeSheet } from '@/utils/execl-utils';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**对象信息状态类型 */
type ModalStateType = {
@@ -414,7 +409,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-row :gutter="16">
<a-col :span="8">
<!-- 日志设置 -->

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 useI18n from '@/hooks/useI18n';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**记录开始结束时间 */
let queryRangePicker = ref<[string, string]>(['', '']);
@@ -168,7 +163,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { SizeType } from 'ant-design-vue/lib/config-provider';
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';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -207,7 +202,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { SizeType } from 'ant-design-vue/lib/config-provider';
@@ -12,10 +11,6 @@ import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -196,7 +191,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { Form, message } from 'ant-design-vue/lib';
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 useI18n from '@/hooks/useI18n';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**对象信息状态类型 */
type ModalStateType = {
@@ -94,7 +89,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-row :gutter="16">
<a-col :span="8">
<!-- 接口设置 -->

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message } from 'ant-design-vue/lib';
@@ -10,10 +9,6 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import useI18n from '@/hooks/useI18n';
import { getMMLByNE, sendMMlByNE } from '@/api/mmlManage/neOperate';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neCascaderOtions = ref<Record<string, any>[]>([]);
@@ -315,7 +310,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-row :gutter="16">
<a-col :span="6">
<!-- 命令导航 -->

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message } from 'ant-design-vue/lib';
@@ -10,10 +9,6 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import useI18n from '@/hooks/useI18n';
import { getMMLByOMC, sendMMlByOMC } from '@/api/mmlManage/omcOperate';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -306,7 +301,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-row :gutter="16">
<a-col :span="6">
<!-- 命令导航 -->

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message } from 'ant-design-vue/lib';
@@ -10,10 +9,6 @@ import { regExpIPv4, regExpIPv6 } from '@/utils/regular-utils';
import useI18n from '@/hooks/useI18n';
import { getMMLByUDM, sendMMlByUDM } from '@/api/mmlManage/udmOperate';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -306,7 +301,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-row :gutter="16">
<a-col :span="6">
<!-- 命令导航 -->

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted } from 'vue';
import {
listCacheName,
@@ -14,10 +13,6 @@ import { ColumnsType } from 'ant-design-vue/lib/table/Table';
import { message } from 'ant-design-vue/lib';
import { hasPermissions } from '@/plugins/auth-user';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**请求点击 */
let isClick = ref<boolean>(false);
@@ -271,15 +266,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
系统在缓存
<a-typography-text code>Redis</a-typography-text>
应用程序中的可控的缓存信息
</a-typography-paragraph>
</template>
<PageContainer>
<a-row :gutter="20">
<a-col :lg="8" :md="8" :xs="24">
<a-card

View File

@@ -14,9 +14,7 @@ import { CanvasRenderer } from 'echarts/renderers';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { getCache } from '@/api/monitor/cache';
import { reactive, ref, onMounted } from 'vue';
import { useRoute } from 'vue-router';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const route = useRoute();
echarts.use([
ToolboxComponent,
@@ -27,9 +25,6 @@ echarts.use([
LabelLayout,
]);
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**加载状态 */
let loading = ref<boolean>(true);
@@ -153,15 +148,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title" :loading="loading">
<template #content>
<a-typography-paragraph>
缓存
<a-typography-text code>Redis</a-typography-text>
应用程序的信息
</a-typography-paragraph>
</template>
<PageContainer :loading="loading">
<a-card
title="基本信息"
:bordered="false"

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { useRoute, useRouter } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { useRouter } from 'vue-router';
import { reactive, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
const router = useRouter();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
/**任务组名 */
@@ -555,22 +551,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<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>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted } from 'vue';
import { reactive, onMounted } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message, Modal } from 'ant-design-vue/lib';
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 { ColumnsType } from 'ant-design-vue/lib/table';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -199,17 +194,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<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>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"
@@ -256,11 +241,6 @@ onMounted(() => {
</a-card>
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
{{ title }}
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<a-space :size="8" align="center">

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { message, Modal } from 'ant-design-vue/lib';
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 { diffValue, parseDateToStr } from '@/utils/date-utils';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -108,9 +103,9 @@ let tableColumns: ColumnsType = [
align: 'center',
customRender(opt) {
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>) {
Modal.confirm({
title: t('common.tipTitle'),
content: t('views.monitor.session.logoutTip', {num: row.accountId}),
content: t('views.monitor.session.logoutTip', { num: row.accountId }),
onOk() {
const hide = message.loading(t('common.loading'), 0);
logoutSession(row.id)
.then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
message.success({
content: t('views.monitor.session.logoutSuccess', {num: row.accountId}),
content: t('views.monitor.session.logoutSuccess', {
num: row.accountId,
}),
duration: 3,
});
} else {
@@ -201,7 +198,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"
@@ -211,7 +208,10 @@ onMounted(() => {
<a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16">
<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
v-model:value="queryParams.accountId"
allow-clear

View File

@@ -1,14 +1,9 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { getSystemInfo } from '@/api/monitor/system';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**加载状态 */
let loading = ref<boolean>(true);
@@ -98,11 +93,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title" :loading="loading">
<template #content>
<a-typography-paragraph> 服务器与应用程序的信息 </a-typography-paragraph>
</template>
<PageContainer :loading="loading">
<a-card
title="项目信息"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { saveAs } from 'file-saver';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -641,7 +636,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message } from 'ant-design-vue/lib';
@@ -11,10 +10,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -173,7 +168,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message } from 'ant-design-vue/lib';
@@ -11,10 +10,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -194,7 +189,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 saveAs from 'file-saver';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -810,7 +805,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message } from 'ant-design-vue/lib';
@@ -11,10 +10,6 @@ import useNeInfoStore from '@/store/modules/neinfo';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**网元参数 */
let neOtions = ref<Record<string, any>[]>([]);
@@ -269,7 +264,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,8 +1,7 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
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 { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
import useI18n from '@/hooks/useI18n';
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -341,7 +336,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,8 +1,7 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
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 { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
import useI18n from '@/hooks/useI18n';
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -341,7 +336,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { SizeType } from 'ant-design-vue/lib/config-provider';
@@ -13,10 +12,6 @@ import useDictStore from '@/store/modules/dict';
import useI18n from '@/hooks/useI18n';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -137,7 +132,7 @@ let tableColumns: ColumnsType = [
if (!opt.value) return '';
return parseDateToStr(opt.value);
},
}
},
];
/**表格分页器参数 */
@@ -206,7 +201,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,8 +1,7 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
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 { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
import useI18n from '@/hooks/useI18n';
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -341,7 +336,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,8 +1,7 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
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 { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
import useI18n from '@/hooks/useI18n';
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -341,7 +336,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,8 +1,7 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
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 { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
import useI18n from '@/hooks/useI18n';
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -341,7 +336,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { Form, message, Modal } from 'ant-design-vue/lib';
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';
const { getDict } = useDictStore();
const { t, currentLocale } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -597,7 +592,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
@@ -454,13 +449,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
系统内可配置的参数变量
</a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { message, Modal, Form } from 'ant-design-vue/lib';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
@@ -405,11 +400,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph> 给予用户部门标记 </a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { useRoute, useRouter } from 'vue-router';
import { useRouter } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
const router = useRouter();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
/**字典状态 */
@@ -457,13 +453,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
数据字典类型数据名称对应的代码值映射数据
</a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
@@ -350,15 +345,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
对登录进行日志收集登录锁定的信息存入
<a-typography-text code>Redis</a-typography-text>
可对登录账号进行解锁
</a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
@@ -383,13 +378,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
对接口请求进行日志收集统计高频接口分析优化等操作
</a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -6,8 +6,7 @@ import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import IconFont from '@/components/IconFont/index.vue';
import { iconFonts } from '@/assets/js/icon_font_8d5l8fzk5b87iudi';
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
import {
addMenu,
delMenu,
@@ -29,14 +28,10 @@ import {
import useDictStore from '@/store/modules/dict';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**字体图标可选择数据 */
let icons = reactive(iconFonts.map(item => ({ value: item, label: item })));
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
/**菜单状态 */
@@ -470,13 +465,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
动态路由菜单根节点下不要创建菜单哦
</a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { message, Modal, Form } from 'ant-design-vue/lib';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
@@ -412,11 +407,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph> 给予用户岗位标记 </a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { useRoute, useRouter } from 'vue-router';
import { useRouter } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
const router = useRouter();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
/**状态 */
@@ -709,13 +705,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph>
给予用户角色标记可分配给用户多个角色分配数据权限需要关联部门数据表进行相关配置生效
</a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,5 +1,4 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
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 { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const route = useRoute();
/**路由标题 */
let title = ref<string>(route.meta.title ?? '标题');
/**字典数据 */
let dict: {
@@ -785,11 +780,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<template #content>
<a-typography-paragraph> 所有系统用户管理列表 </a-typography-paragraph>
</template>
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw, nextTick } from 'vue';
import { reactive, onMounted, toRaw } from 'vue';
import { PageContainer } from '@ant-design-vue/pro-layout';
import { message, Modal } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
@@ -12,10 +11,6 @@ import { saveAs } from 'file-saver';
import useI18n from '@/hooks/useI18n';
import { getTraceRawInfo, listTraceData } from '@/api/traceManage/analysis';
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**查询参数 */
let queryParams = reactive({
@@ -341,7 +336,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"

View File

@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useRoute } 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 { Form, message, Modal } from 'ant-design-vue/lib';
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';
const { getDict } = useDictStore();
const { t } = useI18n();
const route = useRoute();
/**路由标题 */
let title = ref<string>((route.meta.title as string) ?? '标题');
/**字典数据 */
let dict: {
@@ -521,7 +516,7 @@ onMounted(() => {
</script>
<template>
<PageContainer :title="title">
<PageContainer>
<a-card
v-show="tableState.seached"
:bordered="false"
@@ -531,7 +526,10 @@ onMounted(() => {
<a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16">
<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
v-model:value="queryParams.neType"
:options="useNeInfoStore().getNeSelectOtions"
@@ -683,7 +681,10 @@ onMounted(() => {
</a-form-item>
</a-col>
<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
:value="modalState.neType"
:options="useNeInfoStore().getNeCascaderOtions"
@@ -695,7 +696,10 @@ onMounted(() => {
<!-- 用户跟踪 -->
<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 }}
</a-form-item>
<a-form-item :label="t('views.traceManage.task.imsi')" name="imsi">
@@ -707,25 +711,40 @@ onMounted(() => {
<template v-if="modalState.from.traceType === 'Interface'">
<a-row :gutter="16">
<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 }}
</a-form-item>
</a-col>
<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 }}
</a-form-item>
</a-col>
</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 }}
</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 }}
</a-form-item>
</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
disabled
:value="modalState.timeRangePicker"
@@ -737,7 +756,10 @@ onMounted(() => {
style="width: 100%"
></a-range-picker>
</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 }}
</a-form-item>
</a-form>
@@ -940,7 +962,10 @@ onMounted(() => {
style="width: 100%"
></a-range-picker>
</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
v-model:value="modalState.from.comment"
:auto-size="{ minRows: 2, maxRows: 6 }"