修改前端包结构.
This commit is contained in:
@@ -1,16 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-config-provider :locale="locale">
|
<a-config-provider :locale="locale">
|
||||||
<router-view />
|
<router-view />
|
||||||
<global-setting ref="globalSettingRef" />
|
<app-setting ref="appSettingRef" />
|
||||||
</a-config-provider>
|
</a-config-provider>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { computed, provide, ref } from 'vue';
|
import { computed, provide, ref } from 'vue';
|
||||||
import zhCN from '@arco-design/web-vue/es/locale/lang/zh-cn';
|
import zhCN from '@arco-design/web-vue/es/locale/lang/zh-cn';
|
||||||
import GlobalSetting from '@/components/global-setting/index.vue';
|
import AppSetting from '@/components/app/setting/index.vue';
|
||||||
import useLocale from '@/hooks/locale';
|
import useLocale from '@/hooks/locale';
|
||||||
import { openGlobalSettingKey } from '@/types/symbol';
|
import { openAppSettingKey } from '@/types/symbol';
|
||||||
|
|
||||||
const { currentLocale } = useLocale();
|
const { currentLocale } = useLocale();
|
||||||
const locale = computed(() => {
|
const locale = computed(() => {
|
||||||
@@ -23,9 +23,9 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 对外暴露打开配置方法
|
// 对外暴露打开配置方法
|
||||||
const globalSettingRef = ref();
|
const appSettingRef = ref();
|
||||||
provide(openGlobalSettingKey, () => {
|
provide(openAppSettingKey, () => {
|
||||||
globalSettingRef.value.open();
|
appSettingRef.value.open();
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
margin-right: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,7 +135,7 @@
|
|||||||
<a-button class="nav-btn"
|
<a-button class="nav-btn"
|
||||||
type="outline"
|
type="outline"
|
||||||
shape="circle"
|
shape="circle"
|
||||||
@click="openGlobalSetting">
|
@click="openAppSetting">
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<icon-settings />
|
<icon-settings />
|
||||||
</template>
|
</template>
|
||||||
@@ -188,9 +188,9 @@
|
|||||||
import useLocale from '@/hooks/locale';
|
import useLocale from '@/hooks/locale';
|
||||||
import useUser from '@/hooks/user';
|
import useUser from '@/hooks/user';
|
||||||
import { triggerMouseEvent } from '@/utils';
|
import { triggerMouseEvent } from '@/utils';
|
||||||
import Menu from '@/components/menu/tree/index.vue';
|
import Menu from '@/components/system/menu/tree/index.vue';
|
||||||
import MessageBox from '../message-box/index.vue';
|
import MessageBox from '@/components/system/message-box/index.vue';
|
||||||
import { openGlobalSettingKey, toggleDrawerMenuKey } from '@/types/symbol';
|
import { openAppSettingKey, toggleDrawerMenuKey } from '@/types/symbol';
|
||||||
import { preferenceTipsKey } from './const';
|
import { preferenceTipsKey } from './const';
|
||||||
|
|
||||||
const tipsStore = useTipsStore();
|
const tipsStore = useTipsStore();
|
||||||
@@ -230,8 +230,8 @@
|
|||||||
useToggle(darkTheme)();
|
useToggle(darkTheme)();
|
||||||
};
|
};
|
||||||
|
|
||||||
// 打开系统设置
|
// 打开应用设置
|
||||||
const openGlobalSetting = inject(openGlobalSettingKey) as () => void;
|
const openAppSetting = inject(openAppSettingKey) as () => void;
|
||||||
|
|
||||||
// 消息触发器 ref
|
// 消息触发器 ref
|
||||||
const refMessageBoxTrigger = ref();
|
const refMessageBoxTrigger = ref();
|
||||||
@@ -10,9 +10,9 @@ import {
|
|||||||
DataZoomComponent,
|
DataZoomComponent,
|
||||||
GraphicComponent,
|
GraphicComponent,
|
||||||
} from 'echarts/components';
|
} from 'echarts/components';
|
||||||
import Chart from './chart/index.vue';
|
import Breadcrumb from './app/breadcrumb/index.vue';
|
||||||
import Breadcrumb from './breadcrumb/index.vue';
|
import Chart from './view/chart/index.vue';
|
||||||
import CardList from './card/list/index.vue';
|
import CardList from './view/card-list/index.vue';
|
||||||
|
|
||||||
use([
|
use([
|
||||||
CanvasRenderer,
|
CanvasRenderer,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
setMessageStatus,
|
setMessageStatus,
|
||||||
MessageRecord,
|
MessageRecord,
|
||||||
MessageListType,
|
MessageListType,
|
||||||
} from '@/api/message/message';
|
} from '@/api/system/message';
|
||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import List from './list.vue';
|
import List from './list.vue';
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { PropType } from 'vue';
|
import { PropType } from 'vue';
|
||||||
import { MessageRecord, MessageListType } from '@/api/message/message';
|
import { MessageRecord, MessageListType } from '@/api/system/message';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
renderList: {
|
renderList: {
|
||||||
@@ -47,10 +47,10 @@
|
|||||||
import { computed, onMounted, provide, ref } from 'vue';
|
import { computed, onMounted, provide, ref } from 'vue';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
import { useAppStore } from '@/store';
|
import { useAppStore } from '@/store';
|
||||||
import NavBar from '@/components/navbar/index.vue';
|
import Menu from '@/components/system/menu/tree/index.vue';
|
||||||
import Menu from '@/components/menu/tree/index.vue';
|
import NavBar from '@/components/app/navbar/index.vue';
|
||||||
import Footer from '@/components/footer/index.vue';
|
import Footer from '@/components/app/footer/index.vue';
|
||||||
import TabBar from '@/components/tab-bar/index.vue';
|
import TabBar from '@/components/app/tab-bar/index.vue';
|
||||||
import useResponsive from '@/hooks/responsive';
|
import useResponsive from '@/hooks/responsive';
|
||||||
import PageLayout from './page-layout.vue';
|
import PageLayout from './page-layout.vue';
|
||||||
import { toggleDrawerMenuKey } from '@/types/symbol';
|
import { toggleDrawerMenuKey } from '@/types/symbol';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import localeLogin from '@/views/login/locale/zh-CN';
|
import localeLogin from '@/views/authentication/login/locale/zh-CN';
|
||||||
import localeWorkplace from '@/views/dashboard/workplace/locale/zh-CN';
|
import localeWorkplace from '@/views/dashboard/workplace/locale/zh-CN';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const ROOT_ROUTER: RouteRecordRaw = {
|
|||||||
export const LOGIN_ROUTER: RouteRecordRaw = {
|
export const LOGIN_ROUTER: RouteRecordRaw = {
|
||||||
path: '/login',
|
path: '/login',
|
||||||
name: LOGIN_ROUTE_NAME,
|
name: LOGIN_ROUTE_NAME,
|
||||||
component: () => import('@/views/login/index.vue'),
|
component: () => import('@/views/authentication/login/index.vue'),
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,7 +40,7 @@ export const REDIRECT_ROUTER: RouteRecordRaw = {
|
|||||||
{
|
{
|
||||||
path: '/redirect/:path',
|
path: '/redirect/:path',
|
||||||
name: REDIRECT_ROUTE_NAME,
|
name: REDIRECT_ROUTE_NAME,
|
||||||
component: () => import('@/views/redirect/index.vue'),
|
component: () => import('@/views/base/redirect/index.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
hideInMenu: true,
|
hideInMenu: true,
|
||||||
noAffix: true
|
noAffix: true
|
||||||
@@ -55,7 +55,7 @@ export const REDIRECT_ROUTER: RouteRecordRaw = {
|
|||||||
export const FORBIDDEN_ROUTE: RouteRecordRaw = {
|
export const FORBIDDEN_ROUTE: RouteRecordRaw = {
|
||||||
path: '/403',
|
path: '/403',
|
||||||
name: FORBIDDEN_ROUTER_NAME,
|
name: FORBIDDEN_ROUTER_NAME,
|
||||||
component: () => import('@/views/exception/forbidden/index.vue'),
|
component: () => import('@/views/base/status/forbidden/index.vue'),
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,7 +65,7 @@ export const NOT_FOUND_ROUTE: RouteRecordRaw = {
|
|||||||
// path: '/:pathMatch(.*)*',
|
// path: '/:pathMatch(.*)*',
|
||||||
path: '/404',
|
path: '/404',
|
||||||
name: NOT_FOUND_ROUTER_NAME,
|
name: NOT_FOUND_ROUTER_NAME,
|
||||||
component: () => import('@/views/exception/not-found/index.vue'),
|
component: () => import('@/views/base/status/not-found/index.vue'),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ const USER: AppRouteRecordRaw = {
|
|||||||
path: '/user/user',
|
path: '/user/user',
|
||||||
component: () => import('@/views/user/user/index.vue'),
|
component: () => import('@/views/user/user/index.vue'),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'userMine',
|
||||||
|
path: '/user/mine',
|
||||||
|
component: () => import('@/views/user/mine/index.vue'),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
// 切换菜单状态
|
// 切换菜单状态
|
||||||
export const toggleDrawerMenuKey = Symbol();
|
export const toggleDrawerMenuKey = Symbol();
|
||||||
|
|
||||||
// 打开偏好设置
|
// 打开偏好设置
|
||||||
export const openGlobalSettingKey = Symbol();
|
export const openAppSettingKey = Symbol();
|
||||||
|
|||||||
@@ -149,7 +149,7 @@
|
|||||||
import { deleteHost, getHostPage, HostQueryRequest, HostQueryResponse } from '@/api/asset/host';
|
import { deleteHost, getHostPage, HostQueryRequest, HostQueryResponse } from '@/api/asset/host';
|
||||||
import { Message, Modal } from '@arco-design/web-vue';
|
import { Message, Modal } from '@arco-design/web-vue';
|
||||||
import { tagColor } from '@/views/asset/host/types/const';
|
import { tagColor } from '@/views/asset/host/types/const';
|
||||||
import TagMultiSelector from '@/components/tag/tag-multi-selector.vue';
|
import TagMultiSelector from '@/components/meta/tag/tag-multi-selector.vue';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
|
|
||||||
const { copy } = useCopy();
|
const { copy } = useCopy();
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
import formRules from '../types/form.rules';
|
import formRules from '../types/form.rules';
|
||||||
import { createHost, updateHost, HostUpdateRequest } from '@/api/asset/host';
|
import { createHost, updateHost, HostUpdateRequest } from '@/api/asset/host';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import TagMultiSelector from '@/components/tag/tag-multi-selector.vue';
|
import TagMultiSelector from '@/components/meta/tag/tag-multi-selector.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -172,7 +172,7 @@
|
|||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import useFavorite from '@/hooks/favorite';
|
import useFavorite from '@/hooks/favorite';
|
||||||
import { dataColor } from '@/utils';
|
import { dataColor } from '@/utils';
|
||||||
import TagMultiSelector from '@/components/tag/tag-multi-selector.vue';
|
import TagMultiSelector from '@/components/meta/tag/tag-multi-selector.vue';
|
||||||
|
|
||||||
const tagSelector = ref();
|
const tagSelector = ref();
|
||||||
const tableRenderData = ref<HostQueryResponse[]>([]);
|
const tableRenderData = ref<HostQueryResponse[]>([]);
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import Footer from '@/components/footer/index.vue';
|
import Footer from '@/components/app/footer/index.vue';
|
||||||
import LoginBanner from './components/banner.vue';
|
import LoginBanner from './components/banner.vue';
|
||||||
import LoginForm from './components/login-form.vue';
|
import LoginForm from './components/login-form.vue';
|
||||||
</script>
|
</script>
|
||||||
@@ -32,6 +32,17 @@
|
|||||||
<div class="table-title">
|
<div class="table-title">
|
||||||
数据字典
|
数据字典
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 操作 -->
|
||||||
|
<a-space>
|
||||||
|
<a-button type="primary"
|
||||||
|
v-permission="['infra:dict-key:create']"
|
||||||
|
@click="emits('openAddKey')">
|
||||||
|
新增配置项
|
||||||
|
<template #icon>
|
||||||
|
<icon-book />
|
||||||
|
</template>
|
||||||
|
</a-button>
|
||||||
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
<!-- 右侧操作 -->
|
<!-- 右侧操作 -->
|
||||||
<div class="table-right-bar-handle">
|
<div class="table-right-bar-handle">
|
||||||
@@ -39,7 +50,7 @@
|
|||||||
<!-- 新增 -->
|
<!-- 新增 -->
|
||||||
<a-button type="primary"
|
<a-button type="primary"
|
||||||
v-permission="['infra:dict-value:create']"
|
v-permission="['infra:dict-value:create']"
|
||||||
@click="emits('openAdd')">
|
@click="emits('openAddValue')">
|
||||||
新增字典值
|
新增字典值
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<icon-plus />
|
<icon-plus />
|
||||||
@@ -84,14 +95,14 @@
|
|||||||
<a-button type="text"
|
<a-button type="text"
|
||||||
size="mini"
|
size="mini"
|
||||||
v-permission="['infra:dict-value:update']"
|
v-permission="['infra:dict-value:update']"
|
||||||
@click="emits('openUpdate', record)">
|
@click="emits('openValueUpdate', record)">
|
||||||
修改
|
修改
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- 历史 -->
|
<!-- 历史 -->
|
||||||
<a-button type="text"
|
<a-button type="text"
|
||||||
size="mini"
|
size="mini"
|
||||||
v-permission="['infra:dict-value:update']"
|
v-permission="['infra:dict-value:update']"
|
||||||
@click="emits('openUpdate', record)">
|
@click="emits('openValueHistory', record)">
|
||||||
历史
|
历史
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- 删除 -->
|
<!-- 删除 -->
|
||||||
@@ -131,7 +142,7 @@
|
|||||||
|
|
||||||
const tableRenderData = ref<DictValueQueryResponse[]>([]);
|
const tableRenderData = ref<DictValueQueryResponse[]>([]);
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
const emits = defineEmits(['openAdd', 'openUpdate']);
|
const emits = defineEmits(['openAddKey', 'openAddValue', 'openValueUpdate', 'openValueHistory']);
|
||||||
|
|
||||||
const pagination = usePagination();
|
const pagination = usePagination();
|
||||||
const selectedKeys = ref<number[]>([]);
|
const selectedKeys = ref<number[]>([]);
|
||||||
|
|||||||
53
orion-ops-ui/src/views/user/mine/index.vue
Normal file
53
orion-ops-ui/src/views/user/mine/index.vue
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<template>
|
||||||
|
<a-row class="layout-container">
|
||||||
|
<a-col :span="8">
|
||||||
|
<a-card class="general-card">
|
||||||
|
<template #title>
|
||||||
|
用户信息
|
||||||
|
</template>
|
||||||
|
<a-spin :loading="loading" style="width: 100%">
|
||||||
|
<a-form :model="formModel"
|
||||||
|
ref="formRef"
|
||||||
|
label-align="right"
|
||||||
|
:label-col-props="{ span: 6 }"
|
||||||
|
:wrapper-col-props="{ span: 16 }"
|
||||||
|
:rules="formRules">
|
||||||
|
<!-- 用户名 -->
|
||||||
|
<a-form-item field="username" label="用户名">
|
||||||
|
<a-input v-model="formModel.username" disabled />
|
||||||
|
</a-form-item>
|
||||||
|
<!-- 花名 -->
|
||||||
|
<a-form-item field="nickname" label="花名">
|
||||||
|
<a-input v-model="formModel.nickname" placeholder="请输入花名" />
|
||||||
|
</a-form-item>
|
||||||
|
<!-- 手机号 -->
|
||||||
|
<a-form-item field="mobile" label="手机号">
|
||||||
|
<a-input v-model="formModel.mobile" placeholder="请输入手机号" />
|
||||||
|
</a-form-item>
|
||||||
|
<!-- 邮箱 -->
|
||||||
|
<a-form-item field="email" label="邮箱">
|
||||||
|
<a-input v-model="formModel.email" placeholder="请输入邮箱" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</a-spin>
|
||||||
|
</a-card>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import useLoading from '@/hooks/loading';
|
||||||
|
import { ref } from 'vue';
|
||||||
|
import { UserUpdateRequest } from '@/api/user/user';
|
||||||
|
import formRules from '../user/types/form.rules';
|
||||||
|
|
||||||
|
const { loading, setLoading } = useLoading();
|
||||||
|
|
||||||
|
const formRef = ref();
|
||||||
|
const formModel = ref<UserUpdateRequest>({});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
import { useCacheStore } from '@/store';
|
import { useCacheStore } from '@/store';
|
||||||
import { getMenuList } from '@/api/system/menu';
|
import { getMenuList } from '@/api/system/menu';
|
||||||
|
|
||||||
import MenuSelectorTree from '@/components/menu/selector/menu-selector-tree.vue';
|
import MenuSelectorTree from '@/components/system/menu/selector/menu-selector-tree.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
Reference in New Issue
Block a user