You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.6 KiB
43 lines
1.6 KiB
2 years ago
|
<template>
|
||
|
<SearchRow :title="t('log.title')" :add="false" :del="false" @query="query">
|
||
|
<NoobInput v-model="example.userId" :placeholder="t('log.prop.1')" />
|
||
|
<NoobDate v-model="example.startTime" :placeholder="t('log.start')" />
|
||
|
<NoobDate v-model="example.stopTime" :placeholder="t('log.stop')" />
|
||
|
</SearchRow>
|
||
|
<ListTable @query="query" :props="props" :example="example" :page="true" :data="result"></ListTable>
|
||
|
</template>
|
||
|
|
||
|
<script lang="ts" setup>
|
||
|
import { useStore } from "vuex";
|
||
|
import { reactive, onMounted, ref } from "vue";
|
||
|
import { Api, PageExample, PageResult, ListTable, SearchRow, NoobInput, NoobDate } from "noob-mengyxu";
|
||
|
import { useI18n } from "vue3-i18n";
|
||
|
const { t } = useI18n();
|
||
|
|
||
|
const { state, commit, dispatch } = useStore();
|
||
|
const { list } = Api.log;
|
||
|
const result = ref(new PageResult());
|
||
|
const example = reactive<any>(new PageExample());
|
||
|
|
||
|
const props = [
|
||
|
{ i18n: 'log.prop.0', type: 'index', width: 80 },
|
||
|
{ i18n: 'log.prop.1', code: 'userId', width: 120 },
|
||
|
{ i18n: 'log.prop.2', code: 'module', width: 120, dict: 'log_module' },
|
||
|
{ i18n: 'log.prop.3', code: 'type', width: 150, dict: 'log_type' },
|
||
|
{ i18n: 'log.prop.4', code: 'time', width: 150 },
|
||
|
{ i18n: 'log.prop.5', code: 'loginIp', width: 180 },
|
||
|
{ i18n: 'log.prop.6', code: 'context', width: 300 }
|
||
|
]
|
||
|
|
||
|
const query = () => {
|
||
|
list(example).then((rsp: any) => result.value = rsp)
|
||
|
}
|
||
|
|
||
|
onMounted(() => {
|
||
|
dispatch('getDictMap', ['log_module', 'log_type'])
|
||
|
query();
|
||
|
});
|
||
|
</script>
|
||
|
<style lang="scss" scoped>
|
||
|
//@import url(); 引入公共css类
|
||
|
</style>
|