修改前端包结构.

This commit is contained in:
lijiahang
2023-10-18 17:11:27 +08:00
parent 284501b3fb
commit 17d11cef21
39 changed files with 107 additions and 36 deletions

View File

@@ -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>

View File

@@ -42,6 +42,7 @@
align-items: center;
font-size: 16px;
font-weight: 600;
margin-right: 16px;
}
}
}

View File

@@ -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();

View File

@@ -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,

View File

@@ -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';

View File

@@ -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: {

View File

@@ -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';

View File

@@ -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 {

View File

@@ -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 [

View File

@@ -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'),
},
],
};

View File

@@ -1,4 +1,5 @@
// 切换菜单状态
export const toggleDrawerMenuKey = Symbol();
// 打开偏好设置
export const openGlobalSettingKey = Symbol();
export const openAppSettingKey = Symbol();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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[]>([]);

View File

@@ -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>

View File

@@ -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[]>([]);

View 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>

View File

@@ -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();