<template>
|
<div class="app-container">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
<el-form-item prop="isCm">
|
<el-radio-group v-model="queryParams.isCm" @change="changeType">
|
<el-radio-button :label="2">全部</el-radio-button>
|
<el-radio-button :label="1">煤矿</el-radio-button>
|
<el-radio-button :label="0">非煤</el-radio-button>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="时间范围" prop="timeRange">
|
<el-date-picker
|
v-model="queryParams.timeRange"
|
value-format="yyyy-MM-dd HH:mm"
|
type="datetimerange"
|
range-separator="-"
|
start-placeholder="开始日期"
|
end-placeholder="结束日期"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item label="所属区域" prop="districtId">
|
<el-select v-model="queryParams.districtId" placeholder="请选择" style="width: 100%;">
|
<el-option
|
v-for="item in areaList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</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
|
type="primary"
|
plain
|
size="mini"
|
@click="openExamApply({},'add')"
|
>考试计划申请</el-button>
|
<el-button
|
type="primary"
|
plain
|
size="mini"
|
@click="openExamRegist()"
|
v-if="!roles.find(i=>i=='feimeiexam') && !roles.find(i=>i=='mkexam')"
|
>考试报名</el-button>
|
<el-button
|
type="primary"
|
plain
|
size="mini"
|
@click="openGrades()"
|
v-if="!roles.find(i=>i=='feimeiexam') && !roles.find(i=>i=='mkexam')"
|
>成绩查询</el-button>
|
</el-col>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
</el-row>
|
<el-table v-loading="loading" :data="dataList">
|
<el-table-column label="归档序号" align="center" type="index"/>
|
<el-table-column label="机构名称" align="center" prop="institutionName" />
|
<el-table-column label="考试点名称" align="center" prop="siteName" />
|
<el-table-column label="考试批次全称" align="center" prop="examName" />
|
<el-table-column label="考试人数" align="center" prop="examNum" />
|
<el-table-column label="正考时间安排" align="center">
|
<template #default="scope">
|
{{scope.row.examStartTime.substring(0,16) + '--' + scope.row.examEndTime.substring(0,16)}}
|
</template>
|
</el-table-column>
|
<el-table-column label="补考时间安排" align="center">
|
<template #default="scope">
|
{{scope.row.resitStartTime.substring(0,16) + '--' + scope.row.resitEndTime.substring(0,16)}}
|
</template>
|
</el-table-column>
|
<el-table-column label="实操时间" align="center">
|
<template #default="scope">
|
{{scope.row.operationStartTime.substring(0,16) + '--' + scope.row.operationEndTime.substring(0,16)}}
|
</template>
|
</el-table-column>
|
<el-table-column label="培训机构联系人" align="center">
|
<template #default="scope">
|
{{scope.row.institutionContacts + '(' + scope.row.institutionContactsPhone + ')'}}
|
</template>
|
</el-table-column>
|
<el-table-column label="考试点联系人" align="center">
|
<template #default="scope">
|
{{scope.row.siteContacts + '(' + scope.row.siteContactsPhone + ')'}}
|
</template>
|
</el-table-column>
|
<el-table-column label="考试申请时间" align="center" prop="updateTime" />
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<template #default="scope">
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-view"
|
@click="alpop('机构暂未导入报名详单。')"
|
>报名详情</el-button>
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-view"
|
@click="alpop('成绩信息暂未上传。')"
|
>成绩清单查询</el-button>
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-view"
|
@click="openExamApply(scope.row,'view')"
|
>申请审批</el-button>
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-edit"
|
@click="openExamApply(scope.row,'edit')"
|
v-hasPermi="['system:experts:remove']"
|
>信息设定分配</el-button>
|
<el-button
|
size="mini"
|
type="text"
|
style="color: red"
|
icon="el-icon-delete"
|
@click="handleDelete(scope.row)"
|
v-hasPermi="['system:experts:remove']"
|
>删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination
|
v-show="total>0"
|
:total="total"
|
:page.sync="queryParams.pageNum"
|
:limit.sync="queryParams.pageSize"
|
@pagination="getList"
|
/>
|
<examApply-dialog ref="examApplyDialog" @getList="getList" :typeList="typeList"></examApply-dialog>
|
<exam-regist-dialog ref="examRegistDialog" @getList="getList" :typeList="typeList"></exam-regist-dialog>
|
<exam-grades-dialog ref="examGradesDialog" @getList="getList" :typeList="typeList"></exam-grades-dialog>
|
</div>
|
</template>
|
|
<script>
|
|
import examApplyDialog from "@/views/commonMod/examApply/components/examApplyDialog";
|
import examRegistDialog from '@/views/commonMod/examApply/components/examRegistDialog.vue'
|
import examGradesDialog from '@/views/commonMod/examApply/components/examGradesDialog.vue'
|
import {getOperatePage} from "@/api/coalMine/operateType";
|
import {delExamApply, getExamPage} from "@/api/commonMod/examApply";
|
import {getAreaList} from "@/api/coalMine/placeManage/train";
|
import store from '@/store'
|
export default {
|
name: "examApply",
|
dicts: [],
|
components: {
|
examApplyDialog,
|
examRegistDialog,
|
examGradesDialog
|
},
|
data() {
|
return {
|
violationDialog: '',
|
loading: false,
|
showSearch: true,
|
dataList: [],
|
total: 0,
|
typeList: [],
|
areaList: [],
|
queryParams: {
|
districtId: null,
|
isCm: 2,
|
examStartTime: '',
|
examEndTime: '',
|
pageNum: 1,
|
pageSize: 10
|
},
|
roles: []
|
};
|
},
|
created() {
|
this.roles = store.getters && store.getters.roles
|
console.log(this.roles,'role')
|
// if (roles.includes('mk')) {
|
// this.form.isCm = 1
|
// }
|
this.getList()
|
this.getTypeList()
|
this.getArea()
|
},
|
methods: {
|
async getList(){
|
const t = this
|
t.loading = true
|
const res = await getExamPage(t.queryParams)
|
if(res.code == 200){
|
t.dataList = res.rows
|
t.total = res.total
|
}else{
|
t.$message({
|
message: res.msg,
|
type: 'warning'
|
})
|
}
|
t.loading = false
|
},
|
async getTypeList() {
|
this.loading = true;
|
const res = await getOperatePage({name: ''})
|
if(res.code == 200){
|
this.typeList = this.handleTree(res.data, "id");
|
}else{
|
this.$message({
|
type: 'warning',
|
message: res.msg
|
});
|
}
|
this.loading = false;
|
},
|
async getArea() {
|
const res = await getAreaList();
|
if(res.code == 200) {
|
this.areaList = res.data;
|
}
|
},
|
handleDelete(row){
|
this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(async () => {
|
const res = await delExamApply([row.applyId])
|
if(res.code == 200){
|
this.$message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
await this.getList()
|
}else{
|
this.$message({
|
type: 'warning',
|
message: res.msg
|
});
|
}
|
}).catch(() => {
|
|
});
|
},
|
handleQuery(){
|
this.queryParams.pageNum = 1
|
this.getList()
|
},
|
resetQuery(){
|
this.queryParams = {
|
name: '',
|
idCard:'',
|
dept: '',
|
operateTypeId: null,
|
isCm: 2,
|
pageNum: 1,
|
pageSize: 10
|
}
|
this.getList()
|
},
|
changeType(){
|
this.queryParams.pageNum = 1
|
this.getList()
|
},
|
openExamApply(data,type){
|
this.$refs.examApplyDialog.openDialog(data,type);
|
},
|
openExamRegist() {
|
const data = {}
|
const userInfo = store.getters && store.getters.userInfo
|
data.name = userInfo.nickName
|
data.sex = userInfo.sex == 0 ? '男':'女'
|
|
this.$refs.examRegistDialog.openDialog(data);
|
},
|
openGrades() {
|
this.$refs.examGradesDialog.openDialog();
|
},
|
alpop(value){
|
alert(value)
|
}
|
}
|
};
|
</script>
|