<template>
    <div>
        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark"
            :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" style="width: 98%"
            @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="50">
            </el-table-column>
            <el-table-column prop="username" label="用户名">
            </el-table-column>
            <el-table-column prop="phone" label="手机号">
            </el-table-column>
            <el-table-column prop="email" label="邮箱">
            </el-table-column>
            <el-table-column prop="role" label="角色">
            </el-table-column>
            <el-table-column prop="permission" label="权限">
            </el-table-column>
            <el-table-column prop="working_address" label="单位">
            </el-table-column>
            <el-table-column prop="register_time" label="注册时间">
            </el-table-column>
            <el-table-column prop="status" label="状态">
                <template slot-scope="scope">
                    <el-tag :color="scope.row.status == true ? '#06f77e' : '#757776'"></el-tag>
                </template>
            </el-table-column>
            <el-table-column prop="operation" label="操作">
                <el-button size="mini" type="text">查看</el-button>
                <el-button size="mini" type="text">编辑</el-button>
                <el-button size="mini" type="text">激活</el-button>
            </el-table-column>
        </el-table>
        <div class="bottom">
            <div class="bottom_button">
                <el-button class="delete" type="text">批量删除</el-button>
                <el-divider direction="vertical"></el-divider>
                <el-button class="disabled" type="text">批量激活</el-button>
                <el-divider direction="vertical"></el-divider>
                <el-button class="export" type="text">导出数据</el-button>
            </div>
            <page class="page" :paginationData="paginationData"></page>
        </div>
    </div>
</template>

<script >
import page from '@/components/pagination/index';
import { getUserList } from '@/api/user/user';
export default {
    components: { page },
    data() {
        return {
            tableData:[],
            multipleSelection: [],
            currentPageSize: 10,
            currentPage: 1,
            paginationData: {
                pageSize: 10,
                pagerCount: 5,
                currentPage: 1,
                pageSizes: [5, 10, 20, 30],
                total: 30,
                currentChange: (val) => {
                    this.getTableData(val);
                },
                handleSizeChange: (val) => {
                    this.handleSizeChange(val);
                },
            },
        }
    },
    mounted() {
        this.initData();
    },
    methods: {
        initData() {
            this.getTableData(1);
        },
        handleSelectionChange(val) {
            this.multipleSelection = val;
        },
        handleClick() {
            //
        },
        getTableData(page) {
            this.tableData = [];
            getUserList(
                0,
                page
            ).then((res) => {
                if (res.data.code === 0 && res.data.data.length > 0) {
                    this.tableData = res.data.data.map((e) => {
                        return {
                            username: e.name,
                            phone:e.phone,
                            email:e.email,
                            role:e.role,
                            permission:e.permission,
                            working_address:e.company,
                            register_time:e.register_time,
                            status:e.on_job_status
                        }
                    })
                }
            })
        },
        handleSizeChange(val) {
            console.log(`每页 ${val} 条`);
            this.currentPageSize = val;
            this.getTableData(this.currentPage);
        },
    }
}
</script>
<style lang="less" scoped>
.el-tag {
    width: 12px;
    height: 12px;
    border-radius: 100px;
    padding: 0;
}

.el-table {
    position: absolute;
    top: 60px;
    left: 0;
    margin-left: 1%;
    height: 400px;
    border: 1px solid #f0f2f2;
    margin-top: 10px;
    font-size: 0.95rem;
    font-family: PingFang SC;
    font-weight: 500;
    color: #b2b2b2;
    background: rgba(255, 255, 255, 0.8);

    /deep/th {
        background: #f7fbff;
    }

    /deep/.el-checkbox {
        color: #b2b2b2;

        .el-checkbox__input.is-checked+.el-checkbox__label {
            color: #2ea8e6;
        }

        .el-checkbox__input.is-checked .el-checkbox__inner::after {
            width: 70%;
            height: 70%;
            background: #2ea8e6;
            border-radius: 0;
            transform: rotate(0deg) scaleY(1);
            position: static;
            // border: 1px solid #8DD9FF;
        }

        .el-checkbox__inner {
            border: 1px solid #8dd9ff;
            background: rgba(0, 170, 255, 0);
            display: flex;
            align-items: center;
            justify-content: center;
            position: static;

            &::after {
                transition: 0ms;
            }
        }

        .el-checkbox__label {
            padding-left: 0;
            font-size: 15px;
            position: absolute;
            top: 1px;
            left: 25px;
        }
    }
}

.bottom {
    position: absolute;
    bottom: 10px;
    left: 50px;
    height: 50px;
    width: 95%;
    line-height: 20px;
    background-color: rgba(255, 255, 255, 1);
    text-align: center;

    .bottom_button {
        position: absolute;
        left: 20px;
        margin-top: 15px;

        .delete {
            font-size: 14px;
            text-align: center;
            padding: 1px;
        }

        .disabled {
            font-size: 14px;
            text-align: center;
            padding: 1px;
        }

        .export {
            font-size: 14px;
            text-align: center;
            padding: 1px;
        }
    }
}
</style>