Compare commits
10 Commits
77ae2ee705
...
a38b804c4b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a38b804c4b | ||
| e96ee52952 | |||
|
|
3dd1510d12 | ||
| 0bc7983239 | |||
|
|
c665a07be5 | ||
| 26b37e23d7 | |||
|
|
8553381768 | ||
| a49ee2d4b2 | |||
|
|
e098f67b13 | ||
| 3290717984 |
@ -17,6 +17,7 @@
|
|||||||
import { useLockscreenStore } from '@/store/modules/lockscreen';
|
import { useLockscreenStore } from '@/store/modules/lockscreen';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { PageEnum } from '@/enums/pageEnum';
|
import { PageEnum } from '@/enums/pageEnum';
|
||||||
|
import { useProjectSetting } from '@/hooks/setting/useProjectSetting';
|
||||||
import Watermark from '@/utils/wartermark';
|
import Watermark from '@/utils/wartermark';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
@ -26,7 +27,7 @@
|
|||||||
const lockTime = computed(() => useLockscreen.lockTime);
|
const lockTime = computed(() => useLockscreen.lockTime);
|
||||||
|
|
||||||
const zIndex = ref(3000);
|
const zIndex = ref(3000);
|
||||||
|
const { getIsWaterMark } = useProjectSetting();
|
||||||
const LoginName = PageEnum.BASE_LOGIN_NAME;
|
const LoginName = PageEnum.BASE_LOGIN_NAME;
|
||||||
|
|
||||||
let timer;
|
let timer;
|
||||||
@ -50,8 +51,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
if (getIsWaterMark.value) {
|
||||||
const waterText = import.meta.env.VITE_GLOB_APP_TITLE;
|
const waterText = import.meta.env.VITE_GLOB_APP_TITLE;
|
||||||
Watermark.set(waterText)
|
Watermark.set(waterText);
|
||||||
|
} else {
|
||||||
|
Watermark.del();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
// document.removeEventListener('mousedown', timekeeping);
|
// document.removeEventListener('mousedown', timekeeping);
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB |
@ -168,7 +168,8 @@
|
|||||||
if (!meta?.hidden && reg.test(title) && !children?.length) {
|
if (!meta?.hidden && reg.test(title) && !children?.length) {
|
||||||
ret.push({
|
ret.push({
|
||||||
name: parent?.title ? `${parent.title} > ${title}` : title,
|
name: parent?.title ? `${parent.title} > ${title}` : title,
|
||||||
path: parent?.path ? replacePath(parent.path) : replacePath(path),
|
// path: parent?.path ? replacePath(parent.path) : replacePath(path),
|
||||||
|
path: path?path:parent?.path,
|
||||||
icon,
|
icon,
|
||||||
key,
|
key,
|
||||||
});
|
});
|
||||||
|
|||||||
@ -41,6 +41,7 @@
|
|||||||
:title="title"
|
:title="title"
|
||||||
confirmButText="确认上传"
|
confirmButText="确认上传"
|
||||||
:uploadApi="uploadApi"
|
:uploadApi="uploadApi"
|
||||||
|
:name="name"
|
||||||
:circled="circled"
|
:circled="circled"
|
||||||
@uploadSuccess="handleSuccess"
|
@uploadSuccess="handleSuccess"
|
||||||
/>
|
/>
|
||||||
@ -62,6 +63,7 @@
|
|||||||
uploadApi: {
|
uploadApi: {
|
||||||
type: Function as PropType<(params) => Promise<any>>,
|
type: Function as PropType<(params) => Promise<any>>,
|
||||||
},
|
},
|
||||||
|
name: { type: String, default: 'name' },
|
||||||
});
|
});
|
||||||
|
|
||||||
const getWidth = cssUnit(props.width);
|
const getWidth = cssUnit(props.width);
|
||||||
|
|||||||
@ -179,6 +179,7 @@
|
|||||||
uploadApi: {
|
uploadApi: {
|
||||||
type: Function as PropType<(params) => Promise<any>>,
|
type: Function as PropType<(params) => Promise<any>>,
|
||||||
},
|
},
|
||||||
|
name: { type: String, default: 'name' },
|
||||||
};
|
};
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -251,13 +252,14 @@
|
|||||||
return ElMessage.error('请先上传图片');
|
return ElMessage.error('请先上传图片');
|
||||||
}
|
}
|
||||||
const uploadApi = props.uploadApi;
|
const uploadApi = props.uploadApi;
|
||||||
|
const name = props.name
|
||||||
if (uploadApi && isFunction(uploadApi)) {
|
if (uploadApi && isFunction(uploadApi)) {
|
||||||
const file = base64ToFile(previewSource.value,filename);
|
const file = base64ToFile(previewSource.value,filename);
|
||||||
try {
|
try {
|
||||||
setSubLoading(true);
|
setSubLoading(true);
|
||||||
const formData = new FormData()
|
const formData = new FormData()
|
||||||
formData.append('file',file)
|
formData.append('file',file)
|
||||||
formData.append('name',filename)
|
formData.append('name',name)
|
||||||
const result = await uploadApi(formData);
|
const result = await uploadApi(formData);
|
||||||
emit('uploadSuccess', result);
|
emit('uploadSuccess', result);
|
||||||
closeModal();
|
closeModal();
|
||||||
|
|||||||
@ -18,6 +18,8 @@ export function useProjectSetting() {
|
|||||||
|
|
||||||
const getCrumbsSetting = computed(() => projectStore.crumbsSetting);
|
const getCrumbsSetting = computed(() => projectStore.crumbsSetting);
|
||||||
|
|
||||||
|
const getIsWaterMark = computed(() => projectStore.isWaterMark);
|
||||||
|
|
||||||
const getPermissionMode = computed(() => projectStore.permissionMode);
|
const getPermissionMode = computed(() => projectStore.permissionMode);
|
||||||
|
|
||||||
const getShowFooter = computed(() => projectStore.showFooter);
|
const getShowFooter = computed(() => projectStore.showFooter);
|
||||||
@ -46,6 +48,7 @@ export function useProjectSetting() {
|
|||||||
getPageAnimateType,
|
getPageAnimateType,
|
||||||
getMenuWidth,
|
getMenuWidth,
|
||||||
getMenuMinWidth,
|
getMenuMinWidth,
|
||||||
|
getIsWaterMark,
|
||||||
getIsProjectSetting,
|
getIsProjectSetting,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -246,6 +246,12 @@
|
|||||||
<el-switch v-model="settingStore.multiTabsSetting.show" />
|
<el-switch v-model="settingStore.multiTabsSetting.show" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="drawer-setting-item">
|
||||||
|
<div class="drawer-setting-item-title"> 水印</div>
|
||||||
|
<div class="drawer-setting-item-action">
|
||||||
|
<el-switch v-model="settingStore.isWaterMark" @change="handleWaterChange" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<!--1.15废弃,没啥用,占用操作空间-->
|
<!--1.15废弃,没啥用,占用操作空间-->
|
||||||
<!-- <div class="drawer-setting-item">-->
|
<!-- <div class="drawer-setting-item">-->
|
||||||
<!-- <div class="drawer-setting-item-title"> 显示页脚 </div>-->
|
<!-- <div class="drawer-setting-item-title"> 显示页脚 </div>-->
|
||||||
@ -294,7 +300,7 @@
|
|||||||
import { animates as animateOptions } from '@/settings/animateSetting';
|
import { animates as animateOptions } from '@/settings/animateSetting';
|
||||||
import { useDesignSetting } from '@/hooks/setting/useDesignSetting';
|
import { useDesignSetting } from '@/hooks/setting/useDesignSetting';
|
||||||
import colorTool from '@/utils/color';
|
import colorTool from '@/utils/color';
|
||||||
|
import Watermark from '@/utils/wartermark';
|
||||||
defineProps({
|
defineProps({
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
@ -348,6 +354,15 @@
|
|||||||
settingStore.menuSetting.mixMenu = false;
|
settingStore.menuSetting.mixMenu = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleWaterChange(val) {
|
||||||
|
if (val) {
|
||||||
|
const waterText = import.meta.env.VITE_GLOB_APP_TITLE;
|
||||||
|
Watermark.set(waterText);
|
||||||
|
} else {
|
||||||
|
Watermark.del();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//主题色切换
|
//主题色切换
|
||||||
function themeColorChange(color) {
|
function themeColorChange(color) {
|
||||||
document.documentElement.style.setProperty('--el-color-primary', color);
|
document.documentElement.style.setProperty('--el-color-primary', color);
|
||||||
|
|||||||
@ -58,5 +58,7 @@ const setting = {
|
|||||||
pageAnimateType: 'fade',
|
pageAnimateType: 'fade',
|
||||||
//显示项目配置
|
//显示项目配置
|
||||||
isProjectSetting: true,
|
isProjectSetting: true,
|
||||||
|
//显示水印
|
||||||
|
isWaterMark: true,
|
||||||
};
|
};
|
||||||
export default setting;
|
export default setting;
|
||||||
|
|||||||
@ -22,6 +22,7 @@ const {
|
|||||||
isPageAnimate,
|
isPageAnimate,
|
||||||
pageAnimateType,
|
pageAnimateType,
|
||||||
isProjectSetting,
|
isProjectSetting,
|
||||||
|
isWaterMark,
|
||||||
} = projectSetting;
|
} = projectSetting;
|
||||||
|
|
||||||
interface ProjectSettingState {
|
interface ProjectSettingState {
|
||||||
@ -37,6 +38,7 @@ interface ProjectSettingState {
|
|||||||
isPageAnimate: boolean; //是否开启路由动画
|
isPageAnimate: boolean; //是否开启路由动画
|
||||||
pageAnimateType: string; //路由动画类型
|
pageAnimateType: string; //路由动画类型
|
||||||
isProjectSetting: boolean; //显示项目配置
|
isProjectSetting: boolean; //显示项目配置
|
||||||
|
isWaterMark: boolean; //显示水印
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useProjectSettingStore = defineStore({
|
export const useProjectSettingStore = defineStore({
|
||||||
@ -54,6 +56,7 @@ export const useProjectSettingStore = defineStore({
|
|||||||
isPageAnimate,
|
isPageAnimate,
|
||||||
pageAnimateType,
|
pageAnimateType,
|
||||||
isProjectSetting,
|
isProjectSetting,
|
||||||
|
isWaterMark,
|
||||||
}),
|
}),
|
||||||
getters: {
|
getters: {
|
||||||
getNavMode(): string {
|
getNavMode(): string {
|
||||||
@ -92,6 +95,9 @@ export const useProjectSettingStore = defineStore({
|
|||||||
getIsProjectSetting(): boolean {
|
getIsProjectSetting(): boolean {
|
||||||
return this.isProjectSetting;
|
return this.isProjectSetting;
|
||||||
},
|
},
|
||||||
|
getIsWaterMark(): boolean {
|
||||||
|
return this.isWaterMark;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
setNavTheme(value: string): void {
|
setNavTheme(value: string): void {
|
||||||
|
|||||||
@ -173,3 +173,7 @@ body .n-modal {
|
|||||||
.el-drawer__header {
|
.el-drawer__header {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
.el-tooltip__trigger:focus,
|
||||||
|
.el-tooltip__trigger:focus-visible {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|||||||
@ -4,8 +4,8 @@ const setWatermark = (str: string) => {
|
|||||||
if (document.getElementById(id) !== null)
|
if (document.getElementById(id) !== null)
|
||||||
document.body.removeChild(<HTMLElement>document.getElementById(id));
|
document.body.removeChild(<HTMLElement>document.getElementById(id));
|
||||||
const can = document.createElement('canvas');
|
const can = document.createElement('canvas');
|
||||||
can.width = 200;
|
can.width = 250;
|
||||||
can.height = 130;
|
can.height = 180;
|
||||||
const cans = <CanvasRenderingContext2D>can.getContext('2d');
|
const cans = <CanvasRenderingContext2D>can.getContext('2d');
|
||||||
cans.rotate((-20 * Math.PI) / 180);
|
cans.rotate((-20 * Math.PI) / 180);
|
||||||
cans.font = '18px Vedana';
|
cans.font = '18px Vedana';
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
<el-form style="display: flex" ref="formRef" :model="formData" label-width="80px">
|
<el-form style="display: flex" ref="formRef" :model="formData" label-width="80px">
|
||||||
<div style="width: 880px; flex: none" :style="{ height: fwbHeight + 'px' }">
|
<div style="width: 880px; flex: none" :style="{ height: fwbHeight + 'px' }">
|
||||||
<el-form-item label-width="0px" prop="content">
|
<el-form-item label-width="0px" prop="content">
|
||||||
<Editor ref="editorRef" :height="fwbHeight" name="content" />
|
<Editor ref="editorRef" :height="fwbHeight" name="ad" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div style="flex: 1; margin-left: 10px">
|
<div style="flex: 1; margin-left: 10px">
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
<el-form style="display: flex" ref="formRef" :model="formData" label-width="80px">
|
<el-form style="display: flex" ref="formRef" :model="formData" label-width="80px">
|
||||||
<div style="width: 880px; flex: none" :style="{ height: fwbHeight + 'px' }">
|
<div style="width: 880px; flex: none" :style="{ height: fwbHeight + 'px' }">
|
||||||
<el-form-item label-width="0px" prop="content">
|
<el-form-item label-width="0px" prop="content">
|
||||||
<Editor ref="editorRef" :height="fwbHeight" name="content" />
|
<Editor ref="editorRef" :height="fwbHeight" name="article" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div style="flex: 1; margin-left: 10px">
|
<div style="flex: 1; margin-left: 10px">
|
||||||
|
|||||||
@ -26,19 +26,19 @@ export const columns = [
|
|||||||
label: '推荐ID',
|
label: '推荐ID',
|
||||||
prop: 'typeId',
|
prop: 'typeId',
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
label: '推荐图片',
|
// label: '推荐图片',
|
||||||
prop: 'image',
|
// prop: 'image',
|
||||||
render(record) {
|
// render(record) {
|
||||||
return h(ElAvatar, {
|
// return h(ElAvatar, {
|
||||||
size: 48,
|
// size: 48,
|
||||||
src: record.row.image,
|
// src: record.row.image,
|
||||||
shape: 'square',
|
// shape: 'square',
|
||||||
fit: 'fill',
|
// fit: 'fill',
|
||||||
});
|
// });
|
||||||
},
|
// },
|
||||||
width: 120,
|
// width: 120,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
label: '推荐标题',
|
label: '推荐标题',
|
||||||
prop: 'typeTitle',
|
prop: 'typeTitle',
|
||||||
|
|||||||
@ -166,4 +166,8 @@
|
|||||||
:deep(.proCard.tabsCard .el-card__body) {
|
:deep(.proCard.tabsCard .el-card__body) {
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
:deep(.el-badge__content.is-fixed) {
|
||||||
|
top: 6px;
|
||||||
|
right: calc(-10px + var(--el-badge-size) / 2);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
prop="content"
|
prop="content"
|
||||||
:rules="{ required: true, message: '请输入通知内容', trigger: 'blur' }"
|
:rules="{ required: true, message: '请输入通知内容', trigger: 'blur' }"
|
||||||
>
|
>
|
||||||
<Editor ref="editorRef" :height="fwbHeight" class="flex-1" name="data" />
|
<Editor ref="editorRef" :height="fwbHeight" class="flex-1" name="notice" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<el-descriptions-item label="接收人类型:">{{
|
<el-descriptions-item label="接收人类型:">{{
|
||||||
getReviceType(formData.receiveType)
|
getReviceType(formData.receiveType)
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求耗时:">{{ formData.consumeTime }}s</el-descriptions-item>
|
<el-descriptions-item label="请求耗时:">{{ formData.consumeTime }}ms</el-descriptions-item>
|
||||||
<el-descriptions-item label="业务类型:">{{
|
<el-descriptions-item label="业务类型:">{{
|
||||||
formData.bizType ? (formData.bizType == 1 ? '订单' : '其他') : ''
|
formData.bizType ? (formData.bizType == 1 ? '订单' : '其他') : ''
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
formData.fileType
|
formData.fileType
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="文件大小:">{{ formData.fileSize }}B</el-descriptions-item>
|
<el-descriptions-item label="文件大小:">{{ formData.fileSize }}B</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求耗时:">{{ formData.consumeTime }}s</el-descriptions-item>
|
<el-descriptions-item label="请求耗时:">{{ formData.consumeTime }}ms</el-descriptions-item>
|
||||||
<el-descriptions-item label="业务类型:">{{
|
<el-descriptions-item label="业务类型:">{{
|
||||||
formData.bizType ? (formData.bizType == 1 ? '订单' : '其他') : ''
|
formData.bizType ? (formData.bizType == 1 ? '订单' : '其他') : ''
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<el-descriptions-item label="接收人类型:">{{
|
<el-descriptions-item label="接收人类型:">{{
|
||||||
getReviceType(formData.receiveType)
|
getReviceType(formData.receiveType)
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求耗时:">{{ formData.consumeTime }}s</el-descriptions-item>
|
<el-descriptions-item label="请求耗时:">{{ formData.consumeTime }}ms</el-descriptions-item>
|
||||||
<el-descriptions-item label="业务类型:">{{
|
<el-descriptions-item label="业务类型:">{{
|
||||||
formData.bizType ? (formData.bizType == 1 ? '订单' : '其他') : ''
|
formData.bizType ? (formData.bizType == 1 ? '订单' : '其他') : ''
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
|
|||||||
@ -36,7 +36,7 @@
|
|||||||
<el-descriptions-item label="执行时间">
|
<el-descriptions-item label="执行时间">
|
||||||
{{ formData.createTime }}
|
{{ formData.createTime }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="执行耗时"> {{ formData.consumeTime }}s </el-descriptions-item>
|
<el-descriptions-item label="执行耗时"> {{ formData.consumeTime }}ms </el-descriptions-item>
|
||||||
<el-descriptions-item label="执行异常信息" :span="3">
|
<el-descriptions-item label="执行异常信息" :span="3">
|
||||||
{{ formData.exceptionInfo }}
|
{{ formData.exceptionInfo }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|||||||
@ -15,7 +15,7 @@ export const columns = [
|
|||||||
prop: 'username',
|
prop: 'username',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '请求ip',
|
label: '请求IP',
|
||||||
prop: 'ip',
|
prop: 'ip',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -16,10 +16,10 @@
|
|||||||
<el-descriptions-item label="操作系统">
|
<el-descriptions-item label="操作系统">
|
||||||
{{ formData.os }}
|
{{ formData.os }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="操作浏览器">
|
<el-descriptions-item label="浏览器">
|
||||||
{{ formData.browser }}
|
{{ formData.browser }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求耗时"> {{ formData.consumeTime }}s </el-descriptions-item>
|
<el-descriptions-item label="请求耗时"> {{ formData.consumeTime }}ms </el-descriptions-item>
|
||||||
<el-descriptions-item label="请求地区">
|
<el-descriptions-item label="请求地区">
|
||||||
{{ formData.location }}
|
{{ formData.location }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|||||||
@ -19,7 +19,7 @@ export const columns = [
|
|||||||
prop: 'createUser',
|
prop: 'createUser',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '请求ip',
|
label: '请求IP',
|
||||||
prop: 'ip',
|
prop: 'ip',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,19 +13,31 @@
|
|||||||
<el-descriptions-item label="操作用户" label-class-name="des-width">
|
<el-descriptions-item label="操作用户" label-class-name="des-width">
|
||||||
{{ formData.createUser }}
|
{{ formData.createUser }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="IP地址">
|
<el-descriptions-item label="请求IP">
|
||||||
{{ formData.ip }}
|
{{ formData.ip }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="操作系统">
|
<el-descriptions-item label="操作系统">
|
||||||
{{ formData.os }}
|
{{ formData.os }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="操作浏览器">
|
<el-descriptions-item label="浏览器">
|
||||||
{{ formData.browser }}
|
{{ formData.browser }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求耗时"> {{ formData.consumeTime }}s </el-descriptions-item>
|
<el-descriptions-item label="操作类型">
|
||||||
|
{{ formData.typeText }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="操作来源">
|
||||||
|
{{ formData.sourceText }}
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求方式">
|
<el-descriptions-item label="请求方式">
|
||||||
{{ formData.requestMethod }}
|
{{ formData.requestMethod }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="请求URL">
|
||||||
|
{{ formData.url }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="请求耗时"> {{ formData.consumeTime }}ms </el-descriptions-item>
|
||||||
|
<el-descriptions-item label="请求地区">
|
||||||
|
{{ formData.location }}
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="请求状态">
|
<el-descriptions-item label="请求状态">
|
||||||
<el-tag :type="formData.status ? 'danger' : 'success'">{{
|
<el-tag :type="formData.status ? 'danger' : 'success'">{{
|
||||||
formData.status ? '异常' : '正常'
|
formData.status ? '异常' : '正常'
|
||||||
|
|||||||
@ -35,7 +35,7 @@ export const columns = [
|
|||||||
{
|
{
|
||||||
label: '统一社会信用代码',
|
label: '统一社会信用代码',
|
||||||
prop: 'license',
|
prop: 'license',
|
||||||
width: 160,
|
width: 200,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '租户限额',
|
label: '租户限额',
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
ref="cropperCircled"
|
ref="cropperCircled"
|
||||||
:src="formData.avatar"
|
:src="formData.avatar"
|
||||||
:uploadApi="upload"
|
:uploadApi="upload"
|
||||||
|
name="user"
|
||||||
title="头像上传"
|
title="头像上传"
|
||||||
@uploadSuccess="uploadSuccess"
|
@uploadSuccess="uploadSuccess"
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user