⚡ 优化前端组件名称定义.
This commit is contained in:
@@ -7,7 +7,8 @@
|
|||||||
🐞 修复 SFTP 加载失败后一直 loading
|
🐞 修复 SFTP 加载失败后一直 loading
|
||||||
🐞 修复 SSH 配置未启用还可以连接
|
🐞 修复 SSH 配置未启用还可以连接
|
||||||
🐞 修复 主机配置保存后无法修改状态
|
🐞 修复 主机配置保存后无法修改状态
|
||||||
🔨 修改 菜单路由地址简化
|
🔨 修改 菜单路由命名逻辑修改
|
||||||
|
🔨 优化 前端组件命名规范化
|
||||||
|
|
||||||
[如何升级](/about/update.md?id=_v102)
|
[如何升级](/about/update.md?id=_v102)
|
||||||
|
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ public class CodeGenerator implements Executable {
|
|||||||
// api 文件
|
// api 文件
|
||||||
new String[]{"/templates/orion-vue-api.ts.vm", "${feature}.ts", "vue/api/${module}"},
|
new String[]{"/templates/orion-vue-api.ts.vm", "${feature}.ts", "vue/api/${module}"},
|
||||||
// router 文件
|
// router 文件
|
||||||
new String[]{"/templates/orion-vue-router.ts.vm", "${module}.${feature}.ts", "vue/router/routes/modules"},
|
new String[]{"/templates/orion-vue-router.ts.vm", "${feature}.ts", "vue/router/routes/modules"},
|
||||||
// views index.ts 文件
|
// views index.ts 文件
|
||||||
new String[]{"/templates/orion-vue-views-index.vue.vm", "index.vue", "vue/views/${module}/${feature}"},
|
new String[]{"/templates/orion-vue-views-index.vue.vm", "index.vue", "vue/views/${module}/${feature}"},
|
||||||
// form-modal.vue 文件
|
// form-modal.vue 文件
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
-- 父菜单
|
-- 父菜单
|
||||||
INSERT INTO system_menu
|
INSERT INTO system_menu
|
||||||
(parent_id, name, type, sort, visible, status, cache, component)
|
(parent_id, name, type, sort, visible, status, cache)
|
||||||
VALUES
|
VALUES
|
||||||
(0, '${table.comment}管理', 1, 10, 1, 1, 1, '$vue.moduleEntityFirstLower');
|
(0, '${table.comment}管理', 1, 10, 1, 1, 1);
|
||||||
|
|
||||||
-- 设置临时父菜单id
|
-- 设置临时父菜单id
|
||||||
SELECT @TMP_PARENT_ID:=LAST_INSERT_ID();
|
SELECT @TMP_PARENT_ID:=LAST_INSERT_ID();
|
||||||
@@ -13,7 +13,7 @@ SELECT @TMP_PARENT_ID:=LAST_INSERT_ID();
|
|||||||
INSERT INTO system_menu
|
INSERT INTO system_menu
|
||||||
(parent_id, name, type, sort, visible, status, cache, component)
|
(parent_id, name, type, sort, visible, status, cache, component)
|
||||||
VALUES
|
VALUES
|
||||||
(@TMP_PARENT_ID, '$table.comment', 2, 10, 1, 1, 1, '$vue.moduleEntityFirstLower$vue.featureEntity');
|
(@TMP_PARENT_ID, '$table.comment', 2, 10, 1, 1, 1, '$vue.featureEntityFirstLower');
|
||||||
|
|
||||||
-- 设置临时子菜单id
|
-- 设置临时子菜单id
|
||||||
SELECT @TMP_SUB_ID:=LAST_INSERT_ID();
|
SELECT @TMP_SUB_ID:=LAST_INSERT_ID();
|
||||||
|
|||||||
@@ -2,12 +2,12 @@ import type { AppRouteRecordRaw } from '../types';
|
|||||||
import { DEFAULT_LAYOUT } from '../base';
|
import { DEFAULT_LAYOUT } from '../base';
|
||||||
|
|
||||||
const $vue.moduleConst: AppRouteRecordRaw = {
|
const $vue.moduleConst: AppRouteRecordRaw = {
|
||||||
name: '$vue.moduleEntityFirstLower',
|
name: '${vue.moduleEntityFirstLower}Module',
|
||||||
component: DEFAULT_LAYOUT,
|
component: DEFAULT_LAYOUT,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
name: '$vue.moduleEntityFirstLower$vue.featureEntity',
|
name: '$vue.featureEntityFirstLower',
|
||||||
path: '/$vue.module-$vue.feature',
|
path: '/$vue.feature',
|
||||||
component: () => import('@/views/$vue.module/$vue.feature/index.vue'),
|
component: () => import('@/views/$vue.module/$vue.feature/index.vue'),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -111,7 +111,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
name: '${vue.moduleEntityFirstLower}${vue.featureEntity}CardList'
|
name: '${vue.featureEntityFirstLower}CardList'
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
name: '${vue.moduleEntityFirstLower}${vue.featureEntity}FormDrawer'
|
name: '${vue.featureEntityFirstLower}FormDrawer'
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
name: '${vue.moduleEntityFirstLower}${vue.featureEntity}FormModal'
|
name: '${vue.featureEntityFirstLower}FormModal'
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
name: '${vue.moduleEntityFirstLower}${vue.featureEntity}Table'
|
name: '${vue.featureEntityFirstLower}Table'
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -33,20 +33,11 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
name: '${vue.moduleEntityFirstLower}${vue.featureEntity}'
|
name: '${vue.featureEntityFirstLower}'
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
#if($vue.enableCardView)
|
|
||||||
import ${vue.featureEntity}CardList from './components/${vue.feature}-card-list.vue';
|
|
||||||
#end
|
|
||||||
import ${vue.featureEntity}Table from './components/${vue.feature}-table.vue';
|
|
||||||
#if($vue.enableDrawerForm)
|
|
||||||
import ${vue.featureEntity}FormDrawer from './components/${vue.feature}-form-drawer.vue';
|
|
||||||
#else
|
|
||||||
import ${vue.featureEntity}FormModal from './components/${vue.feature}-form-modal.vue';
|
|
||||||
#end
|
|
||||||
#if($vue.enableCardView)
|
#if($vue.enableCardView)
|
||||||
import { computed, ref, onBeforeMount } from 'vue';
|
import { computed, ref, onBeforeMount } from 'vue';
|
||||||
#if($dictMap.entrySet().size() > 0)
|
#if($dictMap.entrySet().size() > 0)
|
||||||
@@ -62,6 +53,15 @@
|
|||||||
import { dictKeys } from './types/const';
|
import { dictKeys } from './types/const';
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
|
#if($vue.enableCardView)
|
||||||
|
import ${vue.featureEntity}CardList from './components/${vue.feature}-card-list.vue';
|
||||||
|
#end
|
||||||
|
import ${vue.featureEntity}Table from './components/${vue.feature}-table.vue';
|
||||||
|
#if($vue.enableDrawerForm)
|
||||||
|
import ${vue.featureEntity}FormDrawer from './components/${vue.feature}-form-drawer.vue';
|
||||||
|
#else
|
||||||
|
import ${vue.featureEntity}FormModal from './components/${vue.feature}-form-modal.vue';
|
||||||
|
#end
|
||||||
|
|
||||||
const render = ref(false);
|
const render = ref(false);
|
||||||
const table = ref();
|
const table = ref();
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 顶部菜单 -->
|
<!-- 顶部菜单 -->
|
||||||
<div class="center-side">
|
<div class="center-side">
|
||||||
<Menu v-if="topMenu" />
|
<menu-tree v-if="topMenu" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 右侧操作 -->
|
<!-- 右侧操作 -->
|
||||||
<ul class="right-side">
|
<ul class="right-side">
|
||||||
@@ -214,8 +214,8 @@
|
|||||||
import { preferenceTipsKey } from './const';
|
import { preferenceTipsKey } from './const';
|
||||||
import { REDIRECT_ROUTE_NAME, routerToTag } from '@/router/constants';
|
import { REDIRECT_ROUTE_NAME, routerToTag } from '@/router/constants';
|
||||||
import { openWindow } from '@/utils';
|
import { openWindow } from '@/utils';
|
||||||
import Menu from '@/components/system/menu/tree/index.vue';
|
import MenuTree from '@/components/system/menu/tree/index.vue';
|
||||||
import UpdatePasswordModal from '@/components/user/user/update-password-modal.vue';
|
import UpdatePasswordModal from '@/components/user/user/update-password-modal/index.vue';
|
||||||
import MessageBox from '@/components/system/message-box/index.vue';
|
import MessageBox from '@/components/system/message-box/index.vue';
|
||||||
|
|
||||||
const tipsStore = useTipsStore();
|
const tipsStore = useTipsStore();
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
defaultVal: appStore.topMenu,
|
defaultVal: appStore.topMenu,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '底部',
|
name: '底部页脚',
|
||||||
key: 'footer',
|
key: 'footer',
|
||||||
defaultVal: appStore.footer
|
defaultVal: appStore.footer
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { TreeNodeData } from '@arco-design/web-vue';
|
import type { TreeNodeData } from '@arco-design/web-vue';
|
||||||
import { computed, nextTick, onMounted, ref } from 'vue';
|
import { computed, nextTick, onMounted, ref } from 'vue';
|
||||||
import { createGroupGroupPrefix, rootId } from './types/const';
|
import { createGroupGroupPrefix, rootId } from '../const';
|
||||||
import { findNode, findParentNode, moveNode } from '@/utils/tree';
|
import { findNode, findParentNode, moveNode } from '@/utils/tree';
|
||||||
import { createHostGroup, deleteHostGroup, updateHostGroupName, moveHostGroup } from '@/api/asset/host-group';
|
import { createHostGroup, deleteHostGroup, updateHostGroupName, moveHostGroup } from '@/api/asset/host-group';
|
||||||
import { isString } from '@/utils/is';
|
import { isString } from '@/utils/is';
|
||||||
@@ -10,10 +10,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<a-checkbox-group v-model="checkedKeys" style="display: contents;">
|
<a-checkbox-group v-model="checkedKeys" style="display: contents;">
|
||||||
<template v-for="parentMenu in menuData" :key="parentMenu.id">
|
<template v-for="parentMenu in menuData" :key="parentMenu.id">
|
||||||
<template v-for="(childrenMenu, index) in parentMenu.children" :key="childrenMenu.id">
|
<template v-for="(childrenMenu, i) in parentMenu.children" :key="childrenMenu.id">
|
||||||
<tr>
|
<tr>
|
||||||
<!-- 父菜单 -->
|
<!-- 父菜单 -->
|
||||||
<td v-if="index === 0" :rowspan="parentMenu.children.length">
|
<td v-if="i === 0" :rowspan="parentMenu.children.length">
|
||||||
<a-checkbox :value="parentMenu.id">
|
<a-checkbox :value="parentMenu.id">
|
||||||
{{ parentMenu.name }}
|
{{ parentMenu.name }}
|
||||||
</a-checkbox>
|
</a-checkbox>
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
import useMenuTree from './use-menu-tree';
|
import useMenuTree from './use-menu-tree';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
|
name: 'menuTree',
|
||||||
emit: ['collapse'],
|
emit: ['collapse'],
|
||||||
setup() {
|
setup() {
|
||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
:hide-trigger="true"
|
:hide-trigger="true"
|
||||||
@collapse="setCollapsed">
|
@collapse="setCollapsed">
|
||||||
<div class="menu-wrapper">
|
<div class="menu-wrapper">
|
||||||
<Menu />
|
<menu-tree />
|
||||||
</div>
|
</div>
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
<!-- 顶部菜单栏 -->
|
<!-- 顶部菜单栏 -->
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
mask-closable
|
mask-closable
|
||||||
:closable="false"
|
:closable="false"
|
||||||
@cancel="drawerCancel">
|
@cancel="drawerCancel">
|
||||||
<Menu style="padding: 12px 16px;" />
|
<menu-tree style="padding: 12px 16px;" />
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
<!-- body -->
|
<!-- body -->
|
||||||
<a-layout class="layout-content" :style="paddingStyle">
|
<a-layout class="layout-content" :style="paddingStyle">
|
||||||
@@ -57,13 +57,13 @@
|
|||||||
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, useUserStore } from '@/store';
|
import { useAppStore, useUserStore } from '@/store';
|
||||||
import Menu from '@/components/system/menu/tree/index.vue';
|
import useResponsive from '@/hooks/responsive';
|
||||||
|
import { toggleDrawerMenuKey } from '@/types/symbol';
|
||||||
|
import PageLayout from './page-layout.vue';
|
||||||
|
import MenuTree from '@/components/system/menu/tree/index.vue';
|
||||||
import NavBar from '@/components/app/navbar/index.vue';
|
import NavBar from '@/components/app/navbar/index.vue';
|
||||||
import Footer from '@/components/app/footer/index.vue';
|
import Footer from '@/components/app/footer/index.vue';
|
||||||
import TabBar from '@/components/app/tab-bar/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';
|
|
||||||
|
|
||||||
const isInit = ref(false);
|
const isInit = ref(false);
|
||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ const SYSTEM: AppRouteRecordRaw = {
|
|||||||
component: DEFAULT_LAYOUT,
|
component: DEFAULT_LAYOUT,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
name: 'menu',
|
name: 'systemMenu',
|
||||||
path: '/menu',
|
path: '/menu',
|
||||||
component: () => import('@/views/system/menu/index.vue'),
|
component: () => import('@/views/system/menu/index.vue'),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -78,8 +78,8 @@
|
|||||||
import { getHostConnectLogCount, clearHostConnectLog } from '@/api/asset/host-connect-log';
|
import { getHostConnectLogCount, clearHostConnectLog } from '@/api/asset/host-connect-log';
|
||||||
import { Message, Modal } from '@arco-design/web-vue';
|
import { Message, Modal } from '@arco-design/web-vue';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import UserSelector from '@/components/user/user/user-selector.vue';
|
import UserSelector from '@/components/user/user/selector/index.vue';
|
||||||
import HostSelector from '@/components/asset/host/host-selector.vue';
|
import HostSelector from '@/components/asset/host/selector/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -196,8 +196,8 @@
|
|||||||
import columns from '../types/table.columns';
|
import columns from '../types/table.columns';
|
||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import UserSelector from '@/components/user/user/user-selector.vue';
|
import UserSelector from '@/components/user/user/selector/index.vue';
|
||||||
import HostSelector from '@/components/asset/host/host-selector.vue';
|
import HostSelector from '@/components/asset/host/selector/index.vue';
|
||||||
import ConnectLogClearModal from './connect-log-clear-modal.vue';
|
import ConnectLogClearModal from './connect-log-clear-modal.vue';
|
||||||
import ConnectLogDetailDrawer from './connect-log-detail-drawer.vue';
|
import ConnectLogDetailDrawer from './connect-log-detail-drawer.vue';
|
||||||
|
|
||||||
|
|||||||
@@ -181,9 +181,9 @@
|
|||||||
import columns from '../types/table.columns';
|
import columns from '../types/table.columns';
|
||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import UserSelector from '@/components/user/user/user-selector.vue';
|
|
||||||
import HostSelector from '@/components/asset/host/host-selector.vue';
|
|
||||||
import { permission10toString } from '@/utils/file';
|
import { permission10toString } from '@/utils/file';
|
||||||
|
import UserSelector from '@/components/user/user/selector/index.vue';
|
||||||
|
import HostSelector from '@/components/asset/host/selector/index.vue';
|
||||||
|
|
||||||
const tableRenderData = ref<HostSftpLogQueryResponse[]>([]);
|
const tableRenderData = ref<HostSftpLogQueryResponse[]>([]);
|
||||||
const selectedKeys = ref<number[]>([]);
|
const selectedKeys = ref<number[]>([]);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import { getAuthorizedHostGroup, grantHostGroup } from '@/api/asset/asset-data-grant';
|
import { getAuthorizedHostGroup, grantHostGroup } from '@/api/asset/asset-data-grant';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import HostGroupTree from '@/components/asset/host-group/host-group-tree.vue';
|
import HostGroupTree from '@/components/asset/host-group/tree/index.vue';
|
||||||
import HostList from './host-list.vue';
|
import HostList from './host-list.vue';
|
||||||
import GrantLayout from './grant-layout.vue';
|
import GrantLayout from './grant-layout.vue';
|
||||||
|
|
||||||
|
|||||||
@@ -155,8 +155,8 @@
|
|||||||
import { Message, Modal } from '@arco-design/web-vue';
|
import { Message, Modal } from '@arco-design/web-vue';
|
||||||
import usePermission from '@/hooks/permission';
|
import usePermission from '@/hooks/permission';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import HostKeySelector from '@/components/asset/host-key/host-key-selector.vue';
|
|
||||||
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
||||||
|
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
||||||
|
|
||||||
const emits = defineEmits(['openAdd', 'openUpdate', 'openKeyView']);
|
const emits = defineEmits(['openAdd', 'openUpdate', 'openKeyView']);
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
import formRules from '../types/form.rules';
|
import formRules from '../types/form.rules';
|
||||||
import { createHostIdentity, updateHostIdentity } from '@/api/asset/host-identity';
|
import { createHostIdentity, updateHostIdentity } from '@/api/asset/host-identity';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import HostKeySelector from '@/components/asset/host-key/host-key-selector.vue';
|
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import columns from '../types/table.columns';
|
import columns from '../types/table.columns';
|
||||||
import { usePagination } from '@/types/table';
|
import { usePagination } from '@/types/table';
|
||||||
import HostKeySelector from '@/components/asset/host-key/host-key-selector.vue';
|
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import usePermission from '@/hooks/permission';
|
import usePermission from '@/hooks/permission';
|
||||||
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
||||||
|
|||||||
@@ -146,8 +146,8 @@
|
|||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { EnabledStatus } from '@/types/const';
|
import { EnabledStatus } from '@/types/const';
|
||||||
import { HostConfigType } from '../../../types/const';
|
import { HostConfigType } from '../../../types/const';
|
||||||
import HostKeySelector from '@/components/asset/host-key/host-key-selector.vue';
|
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
||||||
import HostIdentitySelector from '@/components/asset/host-identity/host-identity-selector.vue';
|
import HostIdentitySelector from '@/components/asset/host-identity/selector/index.vue';
|
||||||
|
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
const { toRadioOptions } = useDictStore();
|
const { toRadioOptions } = useDictStore();
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { updateHostGroupRel } from '@/api/asset/host-group';
|
import { updateHostGroupRel } from '@/api/asset/host-group';
|
||||||
import HostTransfer from './host-transfer.vue';
|
import HostTransfer from './host-transfer.vue';
|
||||||
import HostGroupTree from '@/components/asset/host-group/host-group-tree.vue';
|
import HostGroupTree from '@/components/asset/host-group/tree/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -182,7 +182,7 @@
|
|||||||
import { tagColor } from '../types/const';
|
import { tagColor } from '../types/const';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
||||||
import TagMultiSelector from '@/components/meta/tag/tag-multi-selector.vue';
|
import TagMultiSelector from '@/components/meta/tag/multi-selector/index.vue';
|
||||||
|
|
||||||
const emits = defineEmits(['openAdd', 'openUpdate', 'openUpdateConfig', 'openHostGroup']);
|
const emits = defineEmits(['openAdd', 'openUpdate', 'openUpdateConfig', 'openHostGroup']);
|
||||||
|
|
||||||
|
|||||||
@@ -68,8 +68,8 @@
|
|||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { pick } from 'lodash';
|
import { pick } from 'lodash';
|
||||||
import { tagColor } from '@/views/asset/host-list/types/const';
|
import { tagColor } from '@/views/asset/host-list/types/const';
|
||||||
import TagMultiSelector from '@/components/meta/tag/tag-multi-selector.vue';
|
import TagMultiSelector from '@/components/meta/tag/multi-selector/index.vue';
|
||||||
import HostGroupTreeSelector from '@/components/asset/host-group/host-group-tree-selector.vue';
|
import HostGroupTreeSelector from '@/components/asset/host-group/tree-selector/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -175,7 +175,7 @@
|
|||||||
import columns from '../types/table.columns';
|
import columns from '../types/table.columns';
|
||||||
import { dataColor } from '@/utils';
|
import { dataColor } from '@/utils';
|
||||||
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
import { GrantKey, GrantRouteName } from '@/views/asset/grant/types/const';
|
||||||
import TagMultiSelector from '@/components/meta/tag/tag-multi-selector.vue';
|
import TagMultiSelector from '@/components/meta/tag/multi-selector/index.vue';
|
||||||
|
|
||||||
const tagSelector = ref();
|
const tagSelector = ref();
|
||||||
const tableRenderData = ref<HostQueryResponse[]>([]);
|
const tableRenderData = ref<HostQueryResponse[]>([]);
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
<a-form :model="formModel"
|
<a-form :model="formModel"
|
||||||
ref="formRef"
|
ref="formRef"
|
||||||
label-align="right"
|
label-align="right"
|
||||||
:style="{ width: '460px' }"
|
|
||||||
:label-col-props="{ span: 6 }"
|
:label-col-props="{ span: 6 }"
|
||||||
:wrapper-col-props="{ span: 18 }"
|
:wrapper-col-props="{ span: 18 }"
|
||||||
:rules="{}">
|
:rules="{}">
|
||||||
@@ -49,8 +48,8 @@
|
|||||||
import { getHostExtraItem } from '@/api/asset/host-extra';
|
import { getHostExtraItem } from '@/api/asset/host-extra';
|
||||||
import { ExtraSshAuthType, extraSshAuthTypeKey } from '../../../types/terminal.const';
|
import { ExtraSshAuthType, extraSshAuthTypeKey } from '../../../types/terminal.const';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import HostKeySelector from '@/components/asset/host-key/host-key-selector.vue';
|
import HostKeySelector from '@/components/asset/host-key/selector/index.vue';
|
||||||
import HostIdentitySelector from '@/components/asset/host-identity/host-identity-selector.vue';
|
import HostIdentitySelector from '@/components/asset/host-identity/selector/index.vue';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
hostId: number,
|
hostId: number,
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import { ActionBarItems, connectStatusKey } from '../../types/terminal.const';
|
import { ActionBarItems, connectStatusKey } from '../../types/terminal.const';
|
||||||
import IconActions from '../layout/icon-actions.vue';
|
import IconActions from '../layout/icon-actions.vue';
|
||||||
import ShellEditorModal from '@/components/view/shell-editor/shell-editor-modal.vue';
|
import ShellEditorModal from '@/components/view/shell-editor/modal/index.vue';
|
||||||
import SshSearchModal from './ssh-search-modal.vue';
|
import SshSearchModal from './ssh-search-modal.vue';
|
||||||
import SshContextMenu from './ssh-context-menu.vue';
|
import SshContextMenu from './ssh-context-menu.vue';
|
||||||
|
|
||||||
|
|||||||
@@ -22,11 +22,11 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, onBeforeMount } from 'vue';
|
import { ref, onBeforeMount } from 'vue';
|
||||||
import DictKeyTable from './components/dict-key-table.vue';
|
|
||||||
import DictKeyFormModal from './components/dict-key-form-modal.vue';
|
|
||||||
import JsonEditorModal from '@/components/view/json-editor/json-editor-modal.vue';
|
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { dictKeys } from './types/const';
|
import { dictKeys } from './types/const';
|
||||||
|
import DictKeyTable from './components/dict-key-table.vue';
|
||||||
|
import DictKeyFormModal from './components/dict-key-form-modal.vue';
|
||||||
|
import JsonEditorModal from '@/components/view/json-editor/modal/index.vue';
|
||||||
|
|
||||||
const render = ref(false);
|
const render = ref(false);
|
||||||
const table = ref();
|
const table = ref();
|
||||||
|
|||||||
@@ -95,9 +95,9 @@
|
|||||||
import { createDictValue, updateDictValue } from '@/api/system/dict-value';
|
import { createDictValue, updateDictValue } from '@/api/system/dict-value';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { ValueType, sortStep } from '../../dict-key/types/const';
|
import { ValueType, sortStep } from '../../dict-key/types/const';
|
||||||
import DictKeySelector from '@/components/system/dict-key/dict-key-selector.vue';
|
|
||||||
import { DictKeyQueryResponse } from '@/api/system/dict-key';
|
import { DictKeyQueryResponse } from '@/api/system/dict-key';
|
||||||
import { useCacheStore } from '@/store';
|
import { useCacheStore } from '@/store';
|
||||||
|
import DictKeySelector from '@/components/system/dict-key/selector/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -138,7 +138,7 @@
|
|||||||
import columns from '../types/table.columns';
|
import columns from '../types/table.columns';
|
||||||
import { usePagination, useRowSelection } from '@/types/table';
|
import { usePagination, useRowSelection } from '@/types/table';
|
||||||
import useCopy from '@/hooks/copy';
|
import useCopy from '@/hooks/copy';
|
||||||
import DictKeySelector from '@/components/system/dict-key/dict-key-selector.vue';
|
import DictKeySelector from '@/components/system/dict-key/selector/index.vue';
|
||||||
|
|
||||||
const emits = defineEmits(['openAdd', 'openUpdate', 'openHistory']);
|
const emits = defineEmits(['openAdd', 'openUpdate', 'openHistory']);
|
||||||
|
|
||||||
|
|||||||
@@ -24,13 +24,13 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import DictValueTable from './components/dict-value-table.vue';
|
|
||||||
import DictValueFormModal from './components/dict-value-form-modal.vue';
|
|
||||||
import HistoryValueModal from '@/components/meta/history/history-value-modal.vue';
|
|
||||||
import { ref, onUnmounted } from 'vue';
|
import { ref, onUnmounted } from 'vue';
|
||||||
import { historyType } from './types/const';
|
import { historyType } from './types/const';
|
||||||
import { useCacheStore } from '@/store';
|
import { useCacheStore } from '@/store';
|
||||||
import { rollbackDictValue } from '@/api/system/dict-value';
|
import { rollbackDictValue } from '@/api/system/dict-value';
|
||||||
|
import DictValueTable from './components/dict-value-table.vue';
|
||||||
|
import DictValueFormModal from './components/dict-value-form-modal.vue';
|
||||||
|
import HistoryValueModal from '@/components/meta/history/modal/index.vue';
|
||||||
|
|
||||||
const table = ref();
|
const table = ref();
|
||||||
const modal = ref();
|
const modal = ref();
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import IconPicker from '@sanqi377/arco-vue-icon-picker';
|
import IconPicker from '@sanqi377/arco-vue-icon-picker';
|
||||||
import MenuTreeSelector from '@/components/system/menu/selector/menu-tree-selector.vue';
|
import MenuTreeSelector from '@/components/system/menu/tree-selector/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export default {
|
export default {
|
||||||
name: 'menu'
|
name: 'systemMenu'
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { operatorLogModuleKey, operatorLogResultKey, operatorLogTypeKey, operatorRiskLevelKey } from '@/views/user/operator-log/types/const';
|
import { operatorLogModuleKey, operatorLogResultKey, operatorLogTypeKey, operatorRiskLevelKey } from '@/views/user/operator-log/types/const';
|
||||||
import { labelFilter } from '@/types/form';
|
import { labelFilter } from '@/types/form';
|
||||||
import UserSelector from '@/components/user/user/user-selector.vue';
|
import UserSelector from '@/components/user/user/selector/index.vue';
|
||||||
|
|
||||||
const { $state: dictState, toOptions } = useDictStore();
|
const { $state: dictState, toOptions } = useDictStore();
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { operatorLogModuleKey, operatorLogTypeKey, operatorRiskLevelKey, operatorLogResultKey } from '../types/const';
|
import { operatorLogModuleKey, operatorLogTypeKey, operatorRiskLevelKey, operatorLogResultKey } from '../types/const';
|
||||||
import { labelFilter } from '@/types/form';
|
import { labelFilter } from '@/types/form';
|
||||||
import UserSelector from '@/components/user/user/user-selector.vue';
|
import UserSelector from '@/components/user/user/selector/index.vue';
|
||||||
|
|
||||||
const emits = defineEmits(['submit']);
|
const emits = defineEmits(['submit']);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
import { getOperatorLogPage } from '@/api/user/operator-log';
|
import { getOperatorLogPage } from '@/api/user/operator-log';
|
||||||
import { getCurrentUserOperatorLog } from '@/api/user/mine';
|
import { getCurrentUserOperatorLog } from '@/api/user/mine';
|
||||||
import { replaceHtmlTag, clearHtmlTag } from '@/utils';
|
import { replaceHtmlTag, clearHtmlTag } from '@/utils';
|
||||||
import JsonEditorModal from '@/components/view/json-editor/json-editor-modal.vue';
|
import JsonEditorModal from '@/components/view/json-editor/modal/index.vue';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
handleColumn: {
|
handleColumn: {
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import OperatorLogQueryHeader from './operator-log-query-header.vue';
|
import OperatorLogQueryHeader from './operator-log-query-header.vue';
|
||||||
import OperatorLogClearModal from './operator-log-clear-modal.vue';
|
import OperatorLogClearModal from './operator-log-clear-modal.vue';
|
||||||
import JsonEditorModal from '@/components/view/json-editor/json-editor-modal.vue';
|
import JsonEditorModal from '@/components/view/json-editor/modal/index.vue';
|
||||||
|
|
||||||
const pagination = usePagination();
|
const pagination = usePagination();
|
||||||
const rowSelection = useRowSelection();
|
const rowSelection = useRowSelection();
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
import { getRoleMenuId, grantRoleMenu } from '@/api/user/role';
|
import { getRoleMenuId, grantRoleMenu } from '@/api/user/role';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { quickGrantMenuOperator } from '../types/const';
|
import { quickGrantMenuOperator } from '../types/const';
|
||||||
import MenuGrantTable from '@/components/system/menu/grant/menu-grant-table.vue';
|
import MenuGrantTable from '@/components/system/menu/grant-table/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -49,9 +49,9 @@
|
|||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import useVisible from '@/hooks/visible';
|
import useVisible from '@/hooks/visible';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import RoleSelector from '@/components/user/role/role-selector.vue';
|
|
||||||
import { useCacheStore } from '@/store';
|
import { useCacheStore } from '@/store';
|
||||||
import { getUserRoleIdList, grantUserRole } from '@/api/user/user';
|
import { getUserRoleIdList, grantUserRole } from '@/api/user/user';
|
||||||
|
import RoleSelector from '@/components/user/role/selector/index.vue';
|
||||||
|
|
||||||
const { visible, setVisible } = useVisible();
|
const { visible, setVisible } = useVisible();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
Reference in New Issue
Block a user