Files
zhxg_pc/src/views/stuCQS/synchronous-data/sync-major/syncZhuanYe.vue

126 lines
4.8 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="zydm">
<el-input v-model="queryParams.zydm" 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>
<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="zydm" />
<el-table-column label="专业简称" align="center" prop="zyjc" />
<el-table-column label="专业名称" align="center" prop="zymc" />
<el-table-column label="院校名称" align="center" prop="yxmc" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</template>
<script>
import { listZhuanYe, syncZhuanYeInfo } from '@/api/stuCQS/synchronous-data/sync-major'
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,
zydm: null,
zyjc: null,
zymc: null,
yxmc: null
}
}
},
created() {
this.getList()
},
methods: {
/** 查询【请填写功能名称】列表 */
getList() {
this.loading = true
listZhuanYe(this.queryParams).then(response => {
this.middleList = response.rows
this.total = response.total
this.loading = false
})
},
/** 重置按钮操作 */
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 syncZhuanYeInfo()
// 增加接口返回值校验避免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
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList();
}
}
}
</script>