Files
zhxg_pc/src/views/stuCQS/synchronous-data/sync-instructor/syncTeacher.vue
2026-01-04 10:43:20 +08:00

136 lines
5.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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="zgh">
<el-input v-model="queryParams.zgh" 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">导出</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="MZDM" />
<el-table-column label="职工类别代码" align="center" prop="ZGLBDM" />
<el-table-column label="职工类别名称" align="center" prop="ZGLBMC" />
<el-table-column label="职工状态代码" align="center" prop="ZGDQZTDM" />
<el-table-column label="职工状态代码名称" align="center" prop="ZGDQZTDMMC" />
<el-table-column label="职工排序号" align="center" prop="ZGPXH" />
<el-table-column label="部门代码" align="center" prop="SZBMBH" />
<el-table-column label="科室名称" align="center" prop="ksmc" />
<el-table-column label="院校名称" align="center" prop="yxmc" />
<el-table-column label="数据更新时间" align="center" prop="UPTIME" />
</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
})
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.queryParams.pageNum = 1
this.getList()
},
/** 导出按钮操作 */
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>