diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-router.ts.vm b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-router.ts.vm index 83bde468..22c2d775 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-router.ts.vm +++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-router.ts.vm @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const $vue.moduleConst: AppRouteRecordRaw = { name: '${vue.moduleEntityFirstLower}Module', + path: '/${vue.moduleEntityFirstLower}-module', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/guard/router-permission.ts b/orion-ops-ui/src/router/guard/router-permission.ts index af471d6f..23e9a67d 100644 --- a/orion-ops-ui/src/router/guard/router-permission.ts +++ b/orion-ops-ui/src/router/guard/router-permission.ts @@ -22,7 +22,6 @@ export default function setupPermissionGuard(router: Router) { if (access && to.meta.locale === undefined && menuStore.menuFetched) { to.meta = to.matched[to.matched.length - 1].meta; } - if (access) { // 正常跳转 next(); diff --git a/orion-ops-ui/src/router/routes/modules/asset-audit.ts b/orion-ops-ui/src/router/routes/modules/asset-audit.ts index 7dc5c9c5..f0445aea 100644 --- a/orion-ops-ui/src/router/routes/modules/asset-audit.ts +++ b/orion-ops-ui/src/router/routes/modules/asset-audit.ts @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const ASSET_AUDIT: AppRouteRecordRaw = { name: 'assetAuditModule', + path: '/asset-audit-module', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/routes/modules/asset.ts b/orion-ops-ui/src/router/routes/modules/asset.ts index 8208f76b..87255138 100644 --- a/orion-ops-ui/src/router/routes/modules/asset.ts +++ b/orion-ops-ui/src/router/routes/modules/asset.ts @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const ASSET: AppRouteRecordRaw = { name: 'assetModule', + path: '/asset-module', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/routes/modules/dashboard.ts b/orion-ops-ui/src/router/routes/modules/dashboard.ts index a9f30227..e18c3481 100644 --- a/orion-ops-ui/src/router/routes/modules/dashboard.ts +++ b/orion-ops-ui/src/router/routes/modules/dashboard.ts @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const DASHBOARD: AppRouteRecordRaw = { name: 'dashboard', + path: '/dashboard', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/routes/modules/exec.ts b/orion-ops-ui/src/router/routes/modules/exec.ts index 0e52edd0..7fe80c0f 100644 --- a/orion-ops-ui/src/router/routes/modules/exec.ts +++ b/orion-ops-ui/src/router/routes/modules/exec.ts @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const EXEC: AppRouteRecordRaw = { name: 'execModule', + path: '/exec-module', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/routes/modules/host.ts b/orion-ops-ui/src/router/routes/modules/host.ts index 4942d163..1b216f17 100644 --- a/orion-ops-ui/src/router/routes/modules/host.ts +++ b/orion-ops-ui/src/router/routes/modules/host.ts @@ -3,6 +3,7 @@ import { FULL_LAYOUT } from '../base'; const HOST: AppRouteRecordRaw = { name: 'hostModule', + path: '/host-module', component: FULL_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/routes/modules/system.ts b/orion-ops-ui/src/router/routes/modules/system.ts index 47b08a03..ca6bea63 100644 --- a/orion-ops-ui/src/router/routes/modules/system.ts +++ b/orion-ops-ui/src/router/routes/modules/system.ts @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const SYSTEM: AppRouteRecordRaw = { name: 'systemModule', + path: '/system-module', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/router/routes/modules/user.ts b/orion-ops-ui/src/router/routes/modules/user.ts index 7a430ae9..575f9217 100644 --- a/orion-ops-ui/src/router/routes/modules/user.ts +++ b/orion-ops-ui/src/router/routes/modules/user.ts @@ -3,6 +3,7 @@ import { DEFAULT_LAYOUT } from '../base'; const USER: AppRouteRecordRaw = { name: 'userModule', + path: '/user-module', component: DEFAULT_LAYOUT, children: [ { diff --git a/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue new file mode 100644 index 00000000..b0416217 --- /dev/null +++ b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue @@ -0,0 +1,151 @@ + + + + + + + diff --git a/orion-ops-ui/src/views/exec/exec-template/components/exec-template-table.vue b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-table.vue new file mode 100644 index 00000000..68cbb998 --- /dev/null +++ b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-table.vue @@ -0,0 +1,181 @@ + + + + + + + diff --git a/orion-ops-ui/src/views/exec/exec-template/index.vue b/orion-ops-ui/src/views/exec/exec-template/index.vue new file mode 100644 index 00000000..0be0849b --- /dev/null +++ b/orion-ops-ui/src/views/exec/exec-template/index.vue @@ -0,0 +1,47 @@ + + + + + + + diff --git a/orion-ops-ui/src/views/exec/exec-template/types/const.ts b/orion-ops-ui/src/views/exec/exec-template/types/const.ts new file mode 100644 index 00000000..e69de29b diff --git a/orion-ops-ui/src/views/exec/exec-template/types/form.rules.ts b/orion-ops-ui/src/views/exec/exec-template/types/form.rules.ts new file mode 100644 index 00000000..0f65c534 --- /dev/null +++ b/orion-ops-ui/src/views/exec/exec-template/types/form.rules.ts @@ -0,0 +1,31 @@ +import type { FieldRule } from '@arco-design/web-vue'; + +export const name = [{ + required: true, + message: '请输入名称' +}, { + maxLength: 64, + message: '名称长度不能大于64位' +}] as FieldRule[]; + +export const command = [{ + required: true, + message: '请输入命令' +}] as FieldRule[]; + +export const timeout = [{ + required: true, + message: '请输入超时时间秒 0不超时' +}] as FieldRule[]; + +export const parameter = [{ + required: true, + message: '请输入参数' +}] as FieldRule[]; + +export default { + name, + command, + timeout, + parameter, +} as Record; diff --git a/orion-ops-ui/src/views/exec/exec-template/types/table.columns.ts b/orion-ops-ui/src/views/exec/exec-template/types/table.columns.ts new file mode 100644 index 00000000..9f742aeb --- /dev/null +++ b/orion-ops-ui/src/views/exec/exec-template/types/table.columns.ts @@ -0,0 +1,60 @@ +import type { TableColumnData } from '@arco-design/web-vue/es/table/interface'; +import { dateFormat } from '@/utils'; + +const columns = [ + { + title: 'id', + dataIndex: 'id', + slotName: 'id', + width: 70, + align: 'left', + fixed: 'left', + }, { + title: '名称', + dataIndex: 'name', + slotName: 'name', + align: 'left', + ellipsis: true, + tooltip: true, + }, { + title: '命令', + dataIndex: 'command', + slotName: 'command', + align: 'left', + ellipsis: true, + tooltip: true, + }, { + title: '超时时间', + dataIndex: 'timeout', + slotName: 'timeout', + align: 'left', + }, { + title: '参数', + dataIndex: 'parameter', + slotName: 'parameter', + align: 'left', + ellipsis: true, + tooltip: true, + }, { + title: '修改时间', + dataIndex: 'updateTime', + slotName: 'updateTime', + align: 'center', + width: 180, + render: ({ record }) => { + return dateFormat(new Date(record.updateTime)); + }, + }, { + title: '修改人', + dataIndex: 'updater', + slotName: 'updater', + }, { + title: '操作', + slotName: 'handle', + width: 130, + align: 'center', + fixed: 'right', + }, +] as TableColumnData[]; + +export default columns;