修改前端包结构.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<a-config-provider :locale="locale">
|
||||
<router-view />
|
||||
<global-setting ref="globalSettingRef" />
|
||||
<app-setting ref="appSettingRef" />
|
||||
</a-config-provider>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { computed, provide, ref } from 'vue';
|
||||
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 { openGlobalSettingKey } from '@/types/symbol';
|
||||
import { openAppSettingKey } from '@/types/symbol';
|
||||
|
||||
const { currentLocale } = useLocale();
|
||||
const locale = computed(() => {
|
||||
@@ -23,9 +23,9 @@
|
||||
});
|
||||
|
||||
// 对外暴露打开配置方法
|
||||
const globalSettingRef = ref();
|
||||
provide(openGlobalSettingKey, () => {
|
||||
globalSettingRef.value.open();
|
||||
const appSettingRef = ref();
|
||||
provide(openAppSettingKey, () => {
|
||||
appSettingRef.value.open();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
align-items: center;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
margin-right: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
<a-button class="nav-btn"
|
||||
type="outline"
|
||||
shape="circle"
|
||||
@click="openGlobalSetting">
|
||||
@click="openAppSetting">
|
||||
<template #icon>
|
||||
<icon-settings />
|
||||
</template>
|
||||
@@ -188,9 +188,9 @@
|
||||
import useLocale from '@/hooks/locale';
|
||||
import useUser from '@/hooks/user';
|
||||
import { triggerMouseEvent } from '@/utils';
|
||||
import Menu from '@/components/menu/tree/index.vue';
|
||||
import MessageBox from '../message-box/index.vue';
|
||||
import { openGlobalSettingKey, toggleDrawerMenuKey } from '@/types/symbol';
|
||||
import Menu from '@/components/system/menu/tree/index.vue';
|
||||
import MessageBox from '@/components/system/message-box/index.vue';
|
||||
import { openAppSettingKey, toggleDrawerMenuKey } from '@/types/symbol';
|
||||
import { preferenceTipsKey } from './const';
|
||||
|
||||
const tipsStore = useTipsStore();
|
||||
@@ -230,8 +230,8 @@
|
||||
useToggle(darkTheme)();
|
||||
};
|
||||
|
||||
// 打开系统设置
|
||||
const openGlobalSetting = inject(openGlobalSettingKey) as () => void;
|
||||
// 打开应用设置
|
||||
const openAppSetting = inject(openAppSettingKey) as () => void;
|
||||
|
||||
// 消息触发器 ref
|
||||
const refMessageBoxTrigger = ref();
|
||||
@@ -10,9 +10,9 @@ import {
|
||||
DataZoomComponent,
|
||||
GraphicComponent,
|
||||
} from 'echarts/components';
|
||||
import Chart from './chart/index.vue';
|
||||
import Breadcrumb from './breadcrumb/index.vue';
|
||||
import CardList from './card/list/index.vue';
|
||||
import Breadcrumb from './app/breadcrumb/index.vue';
|
||||
import Chart from './view/chart/index.vue';
|
||||
import CardList from './view/card-list/index.vue';
|
||||
|
||||
use([
|
||||
CanvasRenderer,
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
setMessageStatus,
|
||||
MessageRecord,
|
||||
MessageListType,
|
||||
} from '@/api/message/message';
|
||||
} from '@/api/system/message';
|
||||
import useLoading from '@/hooks/loading';
|
||||
import List from './list.vue';
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { PropType } from 'vue';
|
||||
import { MessageRecord, MessageListType } from '@/api/message/message';
|
||||
import { MessageRecord, MessageListType } from '@/api/system/message';
|
||||
|
||||
const props = defineProps({
|
||||
renderList: {
|
||||
@@ -47,10 +47,10 @@
|
||||
import { computed, onMounted, provide, ref } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { useAppStore } from '@/store';
|
||||
import NavBar from '@/components/navbar/index.vue';
|
||||
import Menu from '@/components/menu/tree/index.vue';
|
||||
import Footer from '@/components/footer/index.vue';
|
||||
import TabBar from '@/components/tab-bar/index.vue';
|
||||
import Menu from '@/components/system/menu/tree/index.vue';
|
||||
import NavBar from '@/components/app/navbar/index.vue';
|
||||
import Footer from '@/components/app/footer/index.vue';
|
||||
import TabBar from '@/components/app/tab-bar/index.vue';
|
||||
import useResponsive from '@/hooks/responsive';
|
||||
import PageLayout from './page-layout.vue';
|
||||
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';
|
||||
|
||||
export default {
|
||||
|
||||
@@ -23,7 +23,7 @@ export const ROOT_ROUTER: RouteRecordRaw = {
|
||||
export const LOGIN_ROUTER: RouteRecordRaw = {
|
||||
path: '/login',
|
||||
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',
|
||||
name: REDIRECT_ROUTE_NAME,
|
||||
component: () => import('@/views/redirect/index.vue'),
|
||||
component: () => import('@/views/base/redirect/index.vue'),
|
||||
meta: {
|
||||
hideInMenu: true,
|
||||
noAffix: true
|
||||
@@ -55,7 +55,7 @@ export const REDIRECT_ROUTER: RouteRecordRaw = {
|
||||
export const FORBIDDEN_ROUTE: RouteRecordRaw = {
|
||||
path: '/403',
|
||||
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: '/404',
|
||||
name: NOT_FOUND_ROUTER_NAME,
|
||||
component: () => import('@/views/exception/not-found/index.vue'),
|
||||
component: () => import('@/views/base/status/not-found/index.vue'),
|
||||
};
|
||||
|
||||
export default [
|
||||
|
||||
@@ -16,6 +16,11 @@ const USER: AppRouteRecordRaw = {
|
||||
path: '/user/user',
|
||||
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 openGlobalSettingKey = Symbol();
|
||||
export const openAppSettingKey = Symbol();
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
import { deleteHost, getHostPage, HostQueryRequest, HostQueryResponse } from '@/api/asset/host';
|
||||
import { Message, Modal } from '@arco-design/web-vue';
|
||||
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';
|
||||
|
||||
const { copy } = useCopy();
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
import formRules from '../types/form.rules';
|
||||
import { createHost, updateHost, HostUpdateRequest } from '@/api/asset/host';
|
||||
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 { loading, setLoading } = useLoading();
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
import useCopy from '@/hooks/copy';
|
||||
import useFavorite from '@/hooks/favorite';
|
||||
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 tableRenderData = ref<HostQueryResponse[]>([]);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</template>
|
||||
|
||||
<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 LoginForm from './components/login-form.vue';
|
||||
</script>
|
||||
@@ -32,6 +32,17 @@
|
||||
<div class="table-title">
|
||||
数据字典
|
||||
</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 class="table-right-bar-handle">
|
||||
@@ -39,7 +50,7 @@
|
||||
<!-- 新增 -->
|
||||
<a-button type="primary"
|
||||
v-permission="['infra:dict-value:create']"
|
||||
@click="emits('openAdd')">
|
||||
@click="emits('openAddValue')">
|
||||
新增字典值
|
||||
<template #icon>
|
||||
<icon-plus />
|
||||
@@ -84,14 +95,14 @@
|
||||
<a-button type="text"
|
||||
size="mini"
|
||||
v-permission="['infra:dict-value:update']"
|
||||
@click="emits('openUpdate', record)">
|
||||
@click="emits('openValueUpdate', record)">
|
||||
修改
|
||||
</a-button>
|
||||
<!-- 历史 -->
|
||||
<a-button type="text"
|
||||
size="mini"
|
||||
v-permission="['infra:dict-value:update']"
|
||||
@click="emits('openUpdate', record)">
|
||||
@click="emits('openValueHistory', record)">
|
||||
历史
|
||||
</a-button>
|
||||
<!-- 删除 -->
|
||||
@@ -131,7 +142,7 @@
|
||||
|
||||
const tableRenderData = ref<DictValueQueryResponse[]>([]);
|
||||
const { loading, setLoading } = useLoading();
|
||||
const emits = defineEmits(['openAdd', 'openUpdate']);
|
||||
const emits = defineEmits(['openAddKey', 'openAddValue', 'openValueUpdate', 'openValueHistory']);
|
||||
|
||||
const pagination = usePagination();
|
||||
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 { 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 { loading, setLoading } = useLoading();
|
||||
|
||||
Reference in New Issue
Block a user