⬆️ 升级 axios 版本.
This commit is contained in:
@@ -30,10 +30,10 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@arco-design/web-vue": "^2.55.3",
|
"@arco-design/web-vue": "^2.56.3",
|
||||||
"@dangojs/a-query-header": "^0.0.31",
|
"@dangojs/a-query-header": "^0.0.31",
|
||||||
"@sanqi377/arco-vue-icon-picker": "^1.0.7",
|
"@sanqi377/arco-vue-icon-picker": "^1.0.7",
|
||||||
"@vueuse/core": "^9.3.0",
|
"@vueuse/core": "^12.3.0",
|
||||||
"@xterm/addon-canvas": "^0.7.0",
|
"@xterm/addon-canvas": "^0.7.0",
|
||||||
"@xterm/addon-fit": "^0.10.0",
|
"@xterm/addon-fit": "^0.10.0",
|
||||||
"@xterm/addon-image": "^0.8.0",
|
"@xterm/addon-image": "^0.8.0",
|
||||||
@@ -42,24 +42,25 @@
|
|||||||
"@xterm/addon-web-links": "^0.11.0",
|
"@xterm/addon-web-links": "^0.11.0",
|
||||||
"@xterm/addon-webgl": "^0.18.0",
|
"@xterm/addon-webgl": "^0.18.0",
|
||||||
"@xterm/xterm": "^5.5.0",
|
"@xterm/xterm": "^5.5.0",
|
||||||
"axios": "^0.24.0",
|
"axios": "^1.7.9",
|
||||||
"cron-parser": "^4.9.0",
|
"cron-parser": "^4.9.0",
|
||||||
"dayjs": "^1.11.5",
|
"dayjs": "^1.11.13",
|
||||||
"echarts": "^5.4.0",
|
"echarts": "^5.6.0",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
|
"jsencrypt": "^3.3.2",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mitt": "^3.0.0",
|
"mitt": "^3.0.0",
|
||||||
"monaco-editor": "^0.44.0",
|
"monaco-editor": "^0.52.2",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^2.0.23",
|
"pinia": "^2.3.0",
|
||||||
"query-string": "^8.0.3",
|
"query-string": "^9.1.1",
|
||||||
"sortablejs": "^1.15.0",
|
"sortablejs": "^1.15.6",
|
||||||
"ts-md5": "^1.3.1",
|
"ts-md5": "^1.3.1",
|
||||||
"vue": "^3.2.40",
|
"vue": "^3.5.13",
|
||||||
"vue-echarts": "^6.2.3",
|
"vue-echarts": "^7.0.3",
|
||||||
"vue-i18n": "^9.2.2",
|
"vue-i18n": "^11.0.1",
|
||||||
"vue-router": "^4.0.14"
|
"vue-router": "^4.5.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@arco-plugins/vite-vue": "^1.4.5",
|
"@arco-plugins/vite-vue": "^1.4.5",
|
||||||
@@ -77,7 +78,7 @@
|
|||||||
"@vue/babel-plugin-jsx": "^1.1.1",
|
"@vue/babel-plugin-jsx": "^1.1.1",
|
||||||
"consola": "^2.15.3",
|
"consola": "^2.15.3",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.56.0",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-config-prettier": "^8.5.0",
|
"eslint-config-prettier": "^8.5.0",
|
||||||
"eslint-import-resolver-typescript": "^3.5.1",
|
"eslint-import-resolver-typescript": "^3.5.1",
|
||||||
@@ -92,12 +93,12 @@
|
|||||||
"rollup": "^3.9.1",
|
"rollup": "^3.9.1",
|
||||||
"rollup-plugin-visualizer": "^5.8.2",
|
"rollup-plugin-visualizer": "^5.8.2",
|
||||||
"sass": "^1.69.4",
|
"sass": "^1.69.4",
|
||||||
"stylelint": "^14.14.0",
|
"stylelint": "^16.12.0",
|
||||||
"stylelint-config-prettier": "^9.0.3",
|
"stylelint-config-prettier": "^9.0.5",
|
||||||
"stylelint-config-rational-order": "^0.1.2",
|
"stylelint-config-rational-order": "^0.1.2",
|
||||||
"stylelint-config-recommended-vue": "^1.4.0",
|
"stylelint-config-recommended-vue": "^1.5.0",
|
||||||
"stylelint-config-standard": "^29.0.0",
|
"stylelint-config-standard": "^36.0.1",
|
||||||
"stylelint-order": "^5.0.0",
|
"stylelint-order": "^6.0.4",
|
||||||
"typescript": "^4.8.4",
|
"typescript": "^4.8.4",
|
||||||
"unplugin-vue-components": "^0.24.1",
|
"unplugin-vue-components": "^0.24.1",
|
||||||
"vite": "^3.2.5",
|
"vite": "^3.2.5",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { AxiosRequestConfig, AxiosResponse } from 'axios';
|
import type { AxiosResponse, InternalAxiosRequestConfig } from 'axios';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { useUserStore } from '@/store';
|
import { useUserStore } from '@/store';
|
||||||
@@ -6,12 +6,6 @@ import { getToken } from '@/utils/auth';
|
|||||||
import { httpBaseUrl } from '@/utils/env';
|
import { httpBaseUrl } from '@/utils/env';
|
||||||
import { reLoginTipsKey } from '@/types/symbol';
|
import { reLoginTipsKey } from '@/types/symbol';
|
||||||
|
|
||||||
export interface HttpResponse<T = unknown> {
|
|
||||||
msg: string;
|
|
||||||
code: number;
|
|
||||||
data: T;
|
|
||||||
}
|
|
||||||
|
|
||||||
axios.defaults.timeout = 10000;
|
axios.defaults.timeout = 10000;
|
||||||
axios.defaults.setAuthorization = true;
|
axios.defaults.setAuthorization = true;
|
||||||
axios.defaults.promptBizErrorMessage = true;
|
axios.defaults.promptBizErrorMessage = true;
|
||||||
@@ -19,17 +13,12 @@ axios.defaults.promptRequestErrorMessage = true;
|
|||||||
axios.defaults.baseURL = httpBaseUrl;
|
axios.defaults.baseURL = httpBaseUrl;
|
||||||
|
|
||||||
axios.interceptors.request.use(
|
axios.interceptors.request.use(
|
||||||
(config: AxiosRequestConfig) => {
|
(config: InternalAxiosRequestConfig) => {
|
||||||
// 获取 token
|
// 获取 token
|
||||||
const token = getToken();
|
const token = getToken();
|
||||||
if (token) {
|
// 设置 Authorization 头
|
||||||
if (!config.headers) {
|
if (token && config.setAuthorization === true) {
|
||||||
config.headers = {};
|
config.headers.Authorization = `Bearer ${token}`;
|
||||||
}
|
|
||||||
// 设置 Authorization 头
|
|
||||||
if (config.setAuthorization === true) {
|
|
||||||
config.headers.Authorization = `Bearer ${token}`;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
},
|
},
|
||||||
@@ -39,7 +28,7 @@ axios.interceptors.request.use(
|
|||||||
);
|
);
|
||||||
|
|
||||||
axios.interceptors.response.use(
|
axios.interceptors.response.use(
|
||||||
(response: AxiosResponse<HttpResponse>) => {
|
(response: AxiosResponse) => {
|
||||||
// 不转换
|
// 不转换
|
||||||
if (response.config.unwrap) {
|
if (response.config.unwrap) {
|
||||||
return response;
|
return response;
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</a-button>
|
</a-button>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
<a-dropdown trigger="click" @select="(s: string) => changeLocale(s)">
|
<a-dropdown trigger="click" @select="(s) => changeLocale(s as string)">
|
||||||
<div ref="localeRef" class="trigger-btn" />
|
<div ref="localeRef" class="trigger-btn" />
|
||||||
<template #content>
|
<template #content>
|
||||||
<a-doption v-for="item in locales"
|
<a-doption v-for="item in locales"
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
<template #content>
|
<template #content>
|
||||||
<!-- 个人中心 -->
|
<!-- 个人中心 -->
|
||||||
<a-doption>
|
<a-doption>
|
||||||
<a-space @click="$router.push({ name: 'userInfo' })">
|
<a-space @click="router.push({ name: 'userInfo' })">
|
||||||
<icon-user />
|
<icon-user />
|
||||||
<span>个人中心</span>
|
<span>个人中心</span>
|
||||||
</a-space>
|
</a-space>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
:popup-max-height="false"
|
:popup-max-height="false"
|
||||||
@select="actionSelect">
|
@select="actionSelect">
|
||||||
<span class="arco-tag arco-tag-size-medium arco-tag-checked"
|
<span class="arco-tag arco-tag-size-medium arco-tag-checked"
|
||||||
:class="{ 'link-activated': itemData?.path === $route.path }"
|
:class="{ 'link-activated': itemData?.path === route.path }"
|
||||||
@click="goto(itemData as TagProps)">
|
@click="goto(itemData as TagProps)">
|
||||||
<span class="tag-link">
|
<span class="tag-link">
|
||||||
{{ itemData.title }}
|
{{ itemData.title }}
|
||||||
@@ -69,8 +69,8 @@
|
|||||||
itemData: TagProps;
|
itemData: TagProps;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const router = useRouter();
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const router = useRouter();
|
||||||
const tabBarStore = useTabBarStore();
|
const tabBarStore = useTabBarStore();
|
||||||
|
|
||||||
const goto = (tag: TagProps) => {
|
const goto = (tag: TagProps) => {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { AxiosResponse } from 'axios';
|
import type { AxiosResponse } from 'axios';
|
||||||
import type { HttpResponse } from '@/api/interceptor';
|
import type { HttpResponse } from '@/types/global';
|
||||||
import type { UnwrapRef } from 'vue';
|
import type { UnwrapRef } from 'vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import useLoading from './loading';
|
import useLoading from './loading';
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ export interface NodeOptions extends Options {
|
|||||||
children?: NodeOptions[];
|
children?: NodeOptions[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface HttpResponse<T = unknown> {
|
||||||
|
msg: string;
|
||||||
|
code: number;
|
||||||
|
data: T;
|
||||||
|
}
|
||||||
|
|
||||||
export interface GetParams {
|
export interface GetParams {
|
||||||
body: null;
|
body: null;
|
||||||
type: string;
|
type: string;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<a-result class="result" status="403" subtitle="您没有访问该资源的权限" />
|
<a-result class="result" status="403" subtitle="您没有访问该资源的权限" />
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="primary" @click="() => logout()">重新登录</a-button>
|
<a-button type="primary" @click="() => logout()">重新登录</a-button>
|
||||||
<a-button type="primary" @click="() => $router.push(DEFAULT_ROUTE_NAME)">返回工作台</a-button>
|
<a-button type="primary" @click="router.push(DEFAULT_ROUTE_NAME)">返回工作台</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -16,8 +16,10 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import useUser from '@/hooks/user';
|
import useUser from '@/hooks/user';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import { DEFAULT_ROUTE_NAME } from '@/router/constants';
|
import { DEFAULT_ROUTE_NAME } from '@/router/constants';
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const { logout } = useUser();
|
const { logout } = useUser();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<a-result class="result" status="404" subtitle="糟糕! 页面不见了!" />
|
<a-result class="result" status="404" subtitle="糟糕! 页面不见了!" />
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="primary" @click="() => logout()">重新登录</a-button>
|
<a-button type="primary" @click="() => logout()">重新登录</a-button>
|
||||||
<a-button type="primary" @click="() => $router.push(DEFAULT_ROUTE_NAME)">返回工作台</a-button>
|
<a-button type="primary" @click="router.push(DEFAULT_ROUTE_NAME)">返回工作台</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -16,8 +16,10 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import useUser from '@/hooks/user';
|
import useUser from '@/hooks/user';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import { DEFAULT_ROUTE_NAME } from '@/router/constants';
|
import { DEFAULT_ROUTE_NAME } from '@/router/constants';
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const { logout } = useUser();
|
const { logout } = useUser();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<!-- 跳转 -->
|
<!-- 跳转 -->
|
||||||
<span class="pointer span-blue"
|
<span class="pointer span-blue"
|
||||||
title="详情"
|
title="详情"
|
||||||
@click="$router.push({ name: 'execCommandLog', query: { action: 'self' } })">
|
@click="router.push({ name: 'execCommandLog', query: { action: 'self' } })">
|
||||||
详情
|
详情
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<a-button v-permission="['asset:exec-command:exec']"
|
<a-button v-permission="['asset:exec-command:exec']"
|
||||||
type="text"
|
type="text"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="() => $router.push({ name: 'execCommand', query: { id: record.id } })">
|
@click="router.push({ name: 'execCommand', query: { id: record.id } })">
|
||||||
日志
|
日志
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -57,6 +57,7 @@
|
|||||||
import type { WorkplaceStatisticsData } from '@/views/dashboard/workplace/types/const';
|
import type { WorkplaceStatisticsData } from '@/views/dashboard/workplace/types/const';
|
||||||
import { batchExecColumns } from '../types/table.columns';
|
import { batchExecColumns } from '../types/table.columns';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import { execHostStatusKey } from '@/components/exec/log/const';
|
import { execHostStatusKey } from '@/components/exec/log/const';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
data: WorkplaceStatisticsData;
|
data: WorkplaceStatisticsData;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const { getDictValue } = useDictStore();
|
const { getDictValue } = useDictStore();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<!-- 跳转 -->
|
<!-- 跳转 -->
|
||||||
<span class="pointer span-blue"
|
<span class="pointer span-blue"
|
||||||
title="详情"
|
title="详情"
|
||||||
@click="$router.push({ name: 'userInfo', query: { tab: 'operatorLog' } })">
|
@click="router.push({ name: 'userInfo', query: { tab: 'operatorLog' } })">
|
||||||
详情
|
详情
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -27,12 +27,15 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { WorkplaceStatisticsData } from '@/views/dashboard/workplace/types/const';
|
import type { WorkplaceStatisticsData } from '@/views/dashboard/workplace/types/const';
|
||||||
import { createLineSeries, LineSeriesColors } from '@/types/chart';
|
import { createLineSeries, LineSeriesColors } from '@/types/chart';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import useChartOption from '@/hooks/chart-option';
|
import useChartOption from '@/hooks/chart-option';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
data: WorkplaceStatisticsData;
|
data: WorkplaceStatisticsData;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
// 数量图表配置
|
// 数量图表配置
|
||||||
const { chartOption } = useChartOption((dark, themeTextColor, themeLineColor) => {
|
const { chartOption } = useChartOption((dark, themeTextColor, themeLineColor) => {
|
||||||
return {
|
return {
|
||||||
@@ -92,6 +95,7 @@
|
|||||||
],
|
],
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<!-- 跳转 -->
|
<!-- 跳转 -->
|
||||||
<span class="pointer span-blue"
|
<span class="pointer span-blue"
|
||||||
title="详情"
|
title="详情"
|
||||||
@click="$router.push({ name: 'connectLog', query: { action: 'self' } })">
|
@click="router.push({ name: 'connectLog', query: { action: 'self' } })">
|
||||||
详情
|
详情
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -70,6 +70,7 @@
|
|||||||
import { copy } from '@/hooks/copy';
|
import { copy } from '@/hooks/copy';
|
||||||
import { terminalLogColumns } from '../types/table.columns';
|
import { terminalLogColumns } from '../types/table.columns';
|
||||||
import { terminalConnectTypeKey } from '../types/const';
|
import { terminalConnectTypeKey } from '../types/const';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { openNewRoute } from '@/router';
|
import { openNewRoute } from '@/router';
|
||||||
|
|
||||||
@@ -78,6 +79,7 @@
|
|||||||
data: WorkplaceStatisticsData;
|
data: WorkplaceStatisticsData;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const { getDictValue } = useDictStore();
|
const { getDictValue } = useDictStore();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<!-- 跳转 -->
|
<!-- 跳转 -->
|
||||||
<span class="pointer span-blue"
|
<span class="pointer span-blue"
|
||||||
title="详情"
|
title="详情"
|
||||||
@click="$router.push({ name: 'userInfo', query: { tab: 'loginHistory' } })">
|
@click="router.push({ name: 'userInfo', query: { tab: 'loginHistory' } })">
|
||||||
详情
|
详情
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
import type { WorkplaceStatisticsData } from '@/views/dashboard/workplace/types/const';
|
import type { WorkplaceStatisticsData } from '@/views/dashboard/workplace/types/const';
|
||||||
import { userLoginColumns } from '../types/table.columns';
|
import { userLoginColumns } from '../types/table.columns';
|
||||||
import { operatorLogResultKey } from '../types/const';
|
import { operatorLogResultKey } from '../types/const';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
data: WorkplaceStatisticsData;
|
data: WorkplaceStatisticsData;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const { getDictValue } = useDictStore();
|
const { getDictValue } = useDictStore();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<!-- 执行命令 -->
|
<!-- 执行命令 -->
|
||||||
<a-button v-permission="['asset:exec-command:exec']"
|
<a-button v-permission="['asset:exec-command:exec']"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="$router.push({ name: 'execCommand' })">
|
@click="router.push({ name: 'execCommand' })">
|
||||||
执行命令
|
执行命令
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<icon-thunderbolt />
|
<icon-thunderbolt />
|
||||||
@@ -217,7 +217,7 @@
|
|||||||
getExecCommandLogStatus
|
getExecCommandLogStatus
|
||||||
} from '@/api/exec/exec-command-log';
|
} from '@/api/exec/exec-command-log';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
import useLoading from '@/hooks/loading';
|
import useLoading from '@/hooks/loading';
|
||||||
import { tableColumns } from '../types/table.columns';
|
import { tableColumns } from '../types/table.columns';
|
||||||
import { ExecStatus, execStatusKey } from '@/components/exec/log/const';
|
import { ExecStatus, execStatusKey } from '@/components/exec/log/const';
|
||||||
@@ -232,6 +232,7 @@
|
|||||||
const emits = defineEmits(['viewCommand', 'viewParams', 'viewLog', 'openClear']);
|
const emits = defineEmits(['viewCommand', 'viewParams', 'viewLog', 'openClear']);
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
const router = useRouter();
|
||||||
const pagination = useTablePagination();
|
const pagination = useTablePagination();
|
||||||
const rowSelection = useRowSelection();
|
const rowSelection = useRowSelection();
|
||||||
const expandable = useExpandable();
|
const expandable = useExpandable();
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
:unchecked-text="getDictValue(execJobStatusKey, ExecJobStatus.DISABLED)"
|
:unchecked-text="getDictValue(execJobStatusKey, ExecJobStatus.DISABLED)"
|
||||||
:checked-value="ExecJobStatus.ENABLED"
|
:checked-value="ExecJobStatus.ENABLED"
|
||||||
:unchecked-value="ExecJobStatus.DISABLED"
|
:unchecked-value="ExecJobStatus.DISABLED"
|
||||||
:before-change="(s: number) => updateStatus(record.id, s)" />
|
:before-change="(s) => updateStatus(record.id, s as number)" />
|
||||||
<!-- 状态 不可编辑 -->
|
<!-- 状态 不可编辑 -->
|
||||||
<a-tag v-else :color="getDictValue(execJobStatusKey, record.status, 'color')">
|
<a-tag v-else :color="getDictValue(execJobStatusKey, record.status, 'color')">
|
||||||
{{ getDictValue(execJobStatusKey, record.status) }}
|
{{ getDictValue(execJobStatusKey, record.status) }}
|
||||||
|
|||||||
@@ -64,7 +64,7 @@
|
|||||||
<!-- 上传 -->
|
<!-- 上传 -->
|
||||||
<a-button v-permission="['asset:upload-task:upload']"
|
<a-button v-permission="['asset:upload-task:upload']"
|
||||||
type="primary"
|
type="primary"
|
||||||
@click="$router.push({ name: 'batchUpload' })">
|
@click="router.push({ name: 'batchUpload' })">
|
||||||
上传
|
上传
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<icon-upload />
|
<icon-upload />
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
<a-button v-permission="['asset:upload-task:query']"
|
<a-button v-permission="['asset:upload-task:query']"
|
||||||
type="text"
|
type="text"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="$router.push({ name: 'batchUpload', query: { id: record.id } })">
|
@click="router.push({ name: 'batchUpload', query: { id: record.id } })">
|
||||||
详情
|
详情
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- 取消 -->
|
<!-- 取消 -->
|
||||||
@@ -190,10 +190,12 @@
|
|||||||
import { useTablePagination, useRowSelection } from '@/hooks/table';
|
import { useTablePagination, useRowSelection } from '@/hooks/table';
|
||||||
import { useDictStore } from '@/store';
|
import { useDictStore } from '@/store';
|
||||||
import { copy } from '@/hooks/copy';
|
import { copy } from '@/hooks/copy';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
import UserSelector from '@/components/user/user/selector/index.vue';
|
import UserSelector from '@/components/user/user/selector/index.vue';
|
||||||
|
|
||||||
const emits = defineEmits(['openClear']);
|
const emits = defineEmits(['openClear']);
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
const pagination = useTablePagination();
|
const pagination = useTablePagination();
|
||||||
const rowSelection = useRowSelection();
|
const rowSelection = useRowSelection();
|
||||||
const { loading, setLoading } = useLoading();
|
const { loading, setLoading } = useLoading();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
position="left"
|
position="left"
|
||||||
:lazy-load="true"
|
:lazy-load="true"
|
||||||
:destroy-on-hide="true"
|
:destroy-on-hide="true"
|
||||||
@tab-click="(k: string) => clickTab(k)">
|
@tab-click="(k) => clickTab(k as string)">
|
||||||
<!-- 个人信息 -->
|
<!-- 个人信息 -->
|
||||||
<a-tab-pane key="mineInfo"
|
<a-tab-pane key="mineInfo"
|
||||||
v-if="!user || hasPermission('infra:system-user:update')"
|
v-if="!user || hasPermission('infra:system-user:update')"
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
-- replace regexp 'AUTO_INCREMENT = .*' to 'AUTO_INCREMENT = 1' --
|
|
||||||
|
|
||||||
SET NAMES utf8mb4;
|
SET NAMES utf8mb4;
|
||||||
SET FOREIGN_KEY_CHECKS = 0;
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user