<template>
    <div class="default-main">
        <TableHeader datePicker showExport showCustomColumn>
            <template v-slot:select>
                <el-form-item label="筛选数据">
                    <el-input v-model="tableStore.table.params.searchValue" placeholder="请输入筛选数据" clearable maxlength="32" show-word-limit/>
                </el-form-item>
            </template>
        </TableHeader>
        <Table ref="tableRef"></Table>
        <!-- 详情 -->
        <Detail ref="detailRef"/>
    </div>
</template>
<script setup lang="ts">
import { ref, onMounted, provide, reactive, nextTick } from 'vue'

import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { useDictData } from '@/stores/dictData'
import Detail from './detail.vue'
import { ElMessage, ElMessageBox } from 'element-plus'

defineOptions({
    name: 'frontLog'
})
const detailRef = ref()
const tableStore = new TableStore({
    url: '/system-boot/frontLog/query',
    method: 'POST',
    column: [
        {
            field: 'index',
            title: '序号',
            width: '80',
            formatter: (row: any) => {
                return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
            }
        },
        // { title: '名称', field: 'name', width: '200' },
        {
            title: '进程号',
            field: 'processNo',
            width: '80'
        },

        {
            title: '业务名称',
            field: 'businessName',
            minWidth: '250'
        },
        {
            title: '日志层级',
            field: 'level',
            minWidth: '100'
        },

        {
            title: '前置业务类型',
            field: 'frontType',
            minWidth: '120'
        },
        {
            title: '更改时间',
            field: 'updateTime',
            minWidth: '180',
            sortable: true
        },

        {
            title: '日志类型',
            field: 'codeName',
            minWidth: '180',
            formatter: (row: any) => {
                return row.cellValue || '/'
            }
        },
        {
             title: '操作',fixed: 'right',
            width: '180',
            render: 'buttons',
            buttons: [
                {
                    name: 'edit',
                    title: '详情',
                    type: 'primary',
                    icon: 'el-icon-Plus',
                    render: 'basicButton',
                    click: row => {
                        detailRef.value.open(row)
                    }
                }
            ]
        }
    ],
    beforeSearchFun: () => {}
})


tableStore.table.params.type = ''
tableStore.table.params.searchValue = ''
provide('tableStore', tableStore)

onMounted(() => {
    tableStore.index()
})

const addMenu = () => {}
</script>
<style lang="scss" scoped></style>
