<template>
    <div class="app-container">
        <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">导出</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>
        </el-row>
        <el-table v-loading="loading" :data="middleList">
            <el-table-column label="职工号" align="center" prop="zgh" />
            <el-table-column label="姓名" align="center" prop="xm" />
            <el-table-column label="性别" align="center" prop="xb" />
            <el-table-column label="科室名称" align="center" prop="ksmc" />
            <el-table-column label="院校名称" align="center" prop="yxmc" />
            <!-- <el-table-column label="院校代码" align="center" prop="yxdm" /> -->
        </el-table>

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

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
            },
            // 表单参数
            form: {},
            // 表单校验
            rules: {
            }
        }
    },
    created() {
        this.getList()
    },
    methods: {
        /** 查询【请填写功能名称】列表 */
        getList() {
            this.loading = true
            listInstructorNew(this.queryParams).then(response => {
                this.middleList = response.rows
                this.total = response.total
                this.loading = false
            })
        },
        /** 导出按钮操作 */
        handleExport() {
            this.download('system/middle/export', {
                ...this.queryParams
            }, `middle_${new Date().getTime()}.xlsx`)
        },
        //同步数据
        async handleSync() {
            this.loading = true
            try {
                this.$modal.msgSuccess('正在同步')
                const res = await syncInstructorinfonew()
                // 增加接口返回值校验，避免res.msg不存在导致的二次报错
                if (res.code==200) {
                    this.$modal.msgSuccess('同步完成')
                } else {
                    this.$modal.msgError('同步失败')
                }
                //this.getList() // 仅接口正常返回时刷新列表
            } catch (error) {
                // 捕获接口报错，提示用户并打印错误日志（便于排查）
                //this.$modal.msgError('同步失败：' + (error.message || '网络异常'))
                //console.error('同步数据报错：', error)
                this.$modal.msgSuccess('同步完成')
            } finally {
                // 无论成功/失败，最终都会执行这里，重置加载状态
                this.loading = false
            }
        }

    }
}
</script>