<template>
    <div class="app-container">
        <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true"
            label-width="72px">
            <el-form-item label="班级代码" prop="bjdm">
                <el-input v-model="queryParams.bjdm" placeholder="请输入班级代码" clearable
                    @keyup.enter.native="handleQuery" />
            </el-form-item>
            <el-form-item>
                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
            </el-form-item>
        </el-form>
        <el-row :gutter="10" class="mb8">
            <el-col :span="1.5">
                <el-button v-hasPermi="['system:middle:export']" type="warning" plain icon="el-icon-download"
                    size="mini" @click="handleExport">导出</el-button>
                <el-col :span="1.5">
                    <el-button v-hasPermi="['system:middle:add']" type="primary" plain icon="el-icon-plus" size="mini"
                        @click="handleSync">同步数据</el-button>
                </el-col>
            </el-col>
            <right-toolbar :show-search.sync="showSearch" @queryTable="getList" />
        </el-row>

        <el-table v-loading="loading" :data="middleList" @selection-change="handleSelectionChange">
            <el-table-column label="班级代码" align="center" prop="bjdm" />
            <el-table-column label="专业代码" align="center" prop="zyid" />
            <el-table-column label="班级名称" align="center" prop="bjmc" />
            <el-table-column label="年级代码" align="center" prop="njid" />

        </el-table>

        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
            :limit.sync="queryParams.pageSize" @pagination="getList" />
    </div>
</template>
<script>
import { listBj, syncClassinfo, getClassdm} from '@/api/stuCQS/synchronous-data/sync-class'

export default {
    name: 'Middle',
    data() {
        return {
            // 遮罩层
            loading: true,
            // 选中数组
            ids: [],
            // 非单个禁用
            single: true,
            // 非多个禁用
            multiple: true,
            // 显示搜索条件
            showSearch: true,
            // 总条数
            total: 0,
            // 【请填写功能名称】表格数据
            middleList: [],
            // 弹出层标题
            title: '',
            // 是否显示弹出层
            open: false,
            // 查询参数
            queryParams: {
                pageNum: 1,
                pageSize: 10,
                BJID: null,
                bjdm: null,
                bjjc:null,
                bjmc: null,
                njid: null,
                zyid : null,
            },
            // 表单参数
            form: {},
            // 表单校验
            rules: {
            }
        }
    },
    created() {
        this.getList()
    },
    methods: {
        //关键字查询
        getbjdm() {
            this.loading = true
            getClassdm(this.queryParams.bjdm).then(response => {
                this.middleList = response.data
                this.total = response.total 
                this.loading = false
            })
        },
        /** 查询【请填写功能名称】列表 */
        getList() {
            this.loading = true
            listBj(this.queryParams).then(response => {
                this.middleList = [...response.rows]
                this.total = response.total
                this.loading = false
            })
        },
        // 取消按钮
        cancel() {
            this.open = false
            this.reset()
        },
        // 表单重置
        reset() {
            this.form = {
                BJID: null,
                bjdm: null,
                bjjc:null,
                bjmc: null,
                njid: null,
                zyid : null,
            }
            this.resetForm('form')
        },
        /** 搜索按钮操作 */
        handleQuery() {
            this.queryParams.pageNum = 1
            this.getbjdm()
        },
        /** 重置按钮操作 */
        resetQuery() {
            this.resetForm('queryForm')
            this.queryParams.pageNum = 1
            this.getList()
        },
        // 多选框选中数据
        handleSelectionChange(selection) {
            this.ids = selection.map(item => item.id)
            this.single = selection.length !== 1
            this.multiple = !selection.length
        },
        /** 导出按钮操作 */
        handleExport() {
            this.download('system/middle/export', {
                ...this.queryParams
            }, `middle_${new Date().getTime()}.xlsx`)
        },
        handleSync() {
            syncClassinfo().then(res => {
                this.$modal.msgSuccess(res.msg)
            })
        }
    }
}
</script>
  