feat: add operate comps
parent
01713ff22d
commit
861ec5281d
|
@ -0,0 +1,3 @@
|
||||||
|
export { default as OperateLog } from './operate-log.vue';
|
||||||
|
|
||||||
|
export type { OperateLogProps } from './typing';
|
|
@ -0,0 +1,46 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import type { OperateLogProps } from './typing';
|
||||||
|
|
||||||
|
import { Timeline } from 'ant-design-vue';
|
||||||
|
|
||||||
|
import { DICT_TYPE, getDictLabel, getDictObj } from '#/utils';
|
||||||
|
|
||||||
|
defineOptions({ name: 'OperateLogV2' });
|
||||||
|
|
||||||
|
withDefaults(defineProps<OperateLogProps>(), {
|
||||||
|
logList: () => [],
|
||||||
|
});
|
||||||
|
|
||||||
|
function getUserTypeColor(userType: number) {
|
||||||
|
const dict = getDictObj(DICT_TYPE.USER_TYPE, userType);
|
||||||
|
switch (dict?.colorType) {
|
||||||
|
case 'danger': {
|
||||||
|
return '#F56C6C';
|
||||||
|
}
|
||||||
|
case 'info': {
|
||||||
|
return '#909399';
|
||||||
|
}
|
||||||
|
case 'success': {
|
||||||
|
return '#67C23A';
|
||||||
|
}
|
||||||
|
case 'warning': {
|
||||||
|
return '#E6A23C';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return '#409EFF';
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<Timeline>
|
||||||
|
<Timeline.Item
|
||||||
|
v-for="log in logList"
|
||||||
|
:key="log.id"
|
||||||
|
:color="getUserTypeColor(log.userType)"
|
||||||
|
>
|
||||||
|
<p>{{ log.createTime }}</p>
|
||||||
|
<p>{{ getDictLabel(DICT_TYPE.USER_TYPE, log.userType)[0] }}</p>
|
||||||
|
</Timeline.Item>
|
||||||
|
</Timeline>
|
||||||
|
</div>
|
||||||
|
</template>
|
|
@ -0,0 +1,5 @@
|
||||||
|
import type { SystemOperateLogApi } from '#/api/system/operate-log';
|
||||||
|
|
||||||
|
export interface OperateLogProps {
|
||||||
|
logList: SystemOperateLogApi.OperateLog[]; // 操作日志列表
|
||||||
|
}
|
Loading…
Reference in New Issue