Commit c37e9ee6 by zhaopanyu

zpy 教师电子档案

parent fb740db8
import request from "@/utils/request";
// 查询教师基础信息列表
export function listInformation(query) {
return request({
url: "/teacher/basiclnformation/list",
method: "get",
params: query,
});
}
// 查询教师基础信息详细
export function getInformation(id) {
return request({
url: "/teacher/basiclnformation/" + id,
method: "get",
});
}
// 新增教师基础信息
export function addInformation(data) {
return request({
url: "/teacher/basiclnformation/add",
method: "post",
data: data,
});
}
// 修改教师基础信息
export function updateInformation(data) {
return request({
url: "/teacher/basiclnformation/update",
method: "put",
data: data,
});
}
// 删除教师基础信息
export function delInformation(id) {
return request({
url: "/teacher/basiclnformation/" + id,
method: "delete",
});
}
import request from "@/utils/request";
// 查询年度考核列表
export function listAssessment(query) {
return request({
url: "/school/annualAssessment/list",
method: "get",
params: query,
});
}
// 查询年度考核详细
export function getAssessment(id) {
return request({
url: "/school/annualAssessment/" + id,
method: "get",
});
}
// 新增年度考核
export function addAssessment(data) {
return request({
url: "/school/annualAssessment",
method: "post",
data: data,
});
}
// 修改年度考核
export function updateAssessment(data) {
return request({
url: "/school/annualAssessment",
method: "put",
data: data,
});
}
// 删除年度考核
export function delAssessment(id) {
return request({
url: "/school/annualAssessment/" + id,
method: "delete",
});
}
// 导出接口
export function exportAssessment(data) {
return request({
url: "/school/annualAssessment/export",
method: "post",
data: data,
});
}
import request from "@/utils/request";
// 查询综合荣誉列表
export function listHonors(query) {
return request({
url: "/system/honors/list",
method: "get",
params: query,
});
}
// 查询综合荣誉详细
export function getHonors(id) {
return request({
url: "/system/honors/" + id,
method: "get",
});
}
// 新增综合荣誉
export function addHonors(data) {
return request({
url: "/system/honors",
method: "post",
data: data,
});
}
// 修改综合荣誉
export function updateHonors(data) {
return request({
url: "/system/honors",
method: "put",
data: data,
});
}
// 删除综合荣誉
export function delHonors(id) {
return request({
url: "/system/honors/" + id,
method: "delete",
});
}
import request from "@/utils/request";
// 查询论文著作列表
export function listWorks(query) {
return request({
url: "/system/works/list",
method: "get",
params: query,
});
}
// 查询论文著作详细
export function getWorks(id) {
return request({
url: "/system/works/" + id,
method: "get",
});
}
// 新增论文著作
export function addWorks(data) {
return request({
url: "/system/works",
method: "post",
data: data,
});
}
// 修改论文著作
export function updateWorks(data) {
return request({
url: "/system/works",
method: "put",
data: data,
});
}
// 删除论文著作
export function delWorks(id) {
return request({
url: "/system/works/" + id,
method: "delete",
});
}
import request from "@/utils/request";
// 查询讲课获奖列表
export function listAwards(query) {
return request({
url: "/system/awards/list",
method: "get",
params: query,
});
}
// 查询讲课获奖详细
export function getAwards(id) {
return request({
url: "/system/awards/" + id,
method: "get",
});
}
// 新增讲课获奖
export function addAwards(data) {
return request({
url: "/system/awards",
method: "post",
data: data,
});
}
// 修改讲课获奖
export function updateAwards(data) {
return request({
url: "/system/awards",
method: "put",
data: data,
});
}
// 删除讲课获奖
export function delAwards(id) {
return request({
url: "/system/awards/" + id,
method: "delete",
});
}
import request from "@/utils/request";
// 查询教师获奖列表
export function listAwards(query) {
return request({
url: "/system/awards/list",
method: "get",
params: query,
});
}
// 查询教师获奖详细
export function getAwards(id) {
return request({
url: "/system/awards/" + id,
method: "get",
});
}
// 新增教师获奖
export function addAwards(data) {
return request({
url: "/system/awards",
method: "post",
data: data,
});
}
// 修改教师获奖
export function updateAwards(data) {
return request({
url: "/system/awards",
method: "put",
data: data,
});
}
// 删除教师获奖
export function delAwards(id) {
return request({
url: "/system/awards/" + id,
method: "delete",
});
}
import request from "@/utils/request";
// 查询教学成绩列表
export function listAchievements(query) {
return request({
url: "/system/achievements/list",
method: "get",
params: query,
});
}
// 查询教学成绩详细
export function getAchievements(id) {
return request({
url: "/system/achievements/" + id,
method: "get",
});
}
// 新增教学成绩
export function addAchievements(data) {
return request({
url: "/system/achievements",
method: "post",
data: data,
});
}
// 修改教学成绩
export function updateAchievements(data) {
return request({
url: "/system/achievements",
method: "put",
data: data,
});
}
// 删除教学成绩
export function delAchievements(id) {
return request({
url: "/system/achievements/" + id,
method: "delete",
});
}
......@@ -170,6 +170,7 @@ export function download(url, params, filename, config) {
},
],
headers: { "Content-Type": "application/x-www-form-urlencoded" },
// headers: { "Content-Type": "application/json;charset=utf-8" },
responseType: "blob",
...config,
})
......
<template>
<div class="app-container">
<el-dialog title="查询" :visible.sync="query" width="50%" append-to-body>
<el-form ref="queryParams" :model="queryParams" label-width="96px">
<el-row>
<el-col :span="12">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="queryParams.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="queryParams.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="queryParams.politicalLandscape" placeholder="请选择政治面貌" style="width: 100%;">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参加工作时间" prop="workingHours">
<el-input v-model="queryParams.workingHours" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="现职称" prop="currentProfessionalTitle">
<el-select v-model="queryParams.currentProfessionalTitle" placeholder="请选择"
style="width: 100%;">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="queryParams.onDutySituation" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="毕业院校" prop="graduationInstitution1">
<el-input v-model="queryParams.graduationInstitution1" placeholder="请输入毕业院校" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学历" prop="firstDegree">
<el-input v-model="queryParams.firstDegree" placeholder="请输入学历" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style=" display: flex;justify-content: center;align-items: center;">
<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>
</div>
</el-dialog>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-search" size="mini" @click="handleQuerycx">查询</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:student:add']">新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:student:remove']">删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:student:edit']">修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" size="mini" plain icon="el-icon-view" :disabled="single" @click="handleView">查看
</el-button>
</el-col>
<el-col :offset="1" :span="1.5">
<el-button type="success" plain icon="el-icon-upload" size="mini" @click="handleImport"
v-hasPermi="['system:student:export']">导入
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:student:export']">导出
</el-button>
</el-col>
<el-col :span="1.5">
<el-upload v-loading="uploadFileLoading" class="upload-demo" action="#" :show-file-list="false"
:before-upload="beforeFileUpload" :http-request="uploadFiles" accept=".zip">
<el-button size="mini" type="success" plain icon="el-icon-upload">照片导入</el-button>
</el-upload>
</el-col>
</el-row>
<el-table :data="informationList" @selection-change="handleSelectionChange"
:default-sort="{ prop: 'age', order: 'descending' }">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" align="center" fixed="left" />
<el-table-column label="姓名" align="center" prop="name" sortable fixed="left" />
<el-table-column label="性别" align="center" prop="sex" sortable fixed="left">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
</template>
</el-table-column>
<el-table-column label="年龄" align="center" prop="age" sortable fixed="left" />
<el-table-column label="档案年龄" align="center" prop="fileAge" sortable width="100px" />
<el-table-column label="政治面貌" align="center" prop="politicalLandscape" sortable width="100px" />
<el-table-column label="档案生日" align="center" prop="fileBirthDate" sortable width="100px">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.fileBirthDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="到市二中工作时间" align="center" prop="toSecondMiddleSchoolTime" sortable width="148px" />
<el-table-column label="到市二中工作年限" align="center" prop="toSecondAge" sortable width="148px" />
<el-table-column label="现职称" align="center" prop="currentProfessionalTitle" sortable width="100px" />
<el-table-column label="毕业院校" align="center" prop="graduationInstitution1" sortable width="100px" />
<el-table-column label="学历" align="center" prop="firstDegree" sortable />
<el-table-column label="在岗情况" align="center" prop="onDutySituation" sortable width="100px" />
<el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width ">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:information:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:information: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" />
<!-- 导入对话框 -->
<el-dialog :title="title" :visible.sync="uploadOpen" width="520px" append-to-body inline @close="cancel">
<el-form ref="uploadForm" :model="uploadForm" :rules="rules" label-width="70px">
<el-form-item prop="dataUrl">
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xlsxlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">下载模板
</el-link>
</div>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="cancelFile"> </el-button>
</div>
</el-dialog>
<!-- 添加对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px">
<el-form ref="form" :model="form" :rules="rules" label-width="138px">
<el-row :gutter="10">
<el-col :span="16">
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" :style="{ 'width': '100%' }">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="档案出生日期" prop="fileBirthDate">
<el-date-picker v-model="form.fileBirthDate" type="date" placeholder="选择日期"
:default-value="form.fileBirthDate" style="width: 100%;"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入籍贯"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入民族"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="现职称" prop="currentProfessionalTitle">
<el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="现职称取得资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-col>
<el-col :span="8">
<el-card style=" height: 325px; ">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="width: 300px; height: 280px; " class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-card>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="现聘职称" prop="currentHiringProfessionalTitle">
<el-select v-model="form.currentHiringProfessionalTitle" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现职称聘任时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_position" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 100%" placeholder="请选择">
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
:value="level.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-input v-model="form.lengthOfTeacherTime" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-input v-model="form.lengthOfServiceTime" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_situation" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间1" prop="graduationTime1">
<el-input v-model="form.graduationTime1" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间2" prop="graduationTime2">
<el-input v-model="form.graduationTime2" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间3" prop="graduationTime3">
<el-input v-model="form.graduationTime3" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 查看对话框 -->
<el-dialog title="详细信息" :visible.sync="look" width="60%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
<el-row :gutter="20">
<el-col :span="16">
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" :style="{ 'width': '100%' }">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="档案出生日期" prop="fileBirthDate">
<el-date-picker v-model="form.fileBirthDate" type="date" placeholder="请选择"
:default-value="form.fileBirthDate" style="width: 100%;"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="档案年龄" prop="fileAge">
<el-input v-model="form.fileAge" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生年月" prop="birthDate">
<el-date-picker clearable v-model="form.birthDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="籍贯" prop="hometown">
<el-input v-model="form.hometown" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="民族" prop="nation">
<el-input v-model="form.nation" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="政治面貌" prop="politicalLandscape">
<el-select v-model="form.politicalLandscape" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.politics_tatusls" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入党时间" prop="partyMembershipTime">
<el-date-picker clearable v-model="form.partyMembershipTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任教学科" prop="teachingSubject">
<el-select v-model="form.teachingSubject" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
<el-col :span="8">
<el-card style=" height: 325px; ">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl"
style="width: 350px; height: 280px;" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-card>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="现职称" prop="currentProfessionalTitle">
<el-select v-model="form.currentProfessionalTitle" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现职称取得资格时间" prop="currentProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现聘职称" prop="currentHiringProfessionalTitle">
<el-select v-model="form.currentHiringProfessionalTitle" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_professional" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="现职称聘任时间" prop="currentHiringProfessionalTitleTime">
<el-date-picker clearable v-model="form.currentHiringProfessionalTitleTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现聘岗位" prop="currentPosition">
<el-select v-model="form.currentPosition" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_position" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现岗位等级" prop="currentJobLevel">
<el-select v-model="form.currentJobLevel" style="width: 100%" placeholder="请选择">
<el-option v-for="level in filteredJobLevels" :key="level.value" :label="level.label"
:value="level.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="现岗位等级聘任时间" prop="currentJobLevelAppointmentTime">
<el-date-picker clearable v-model="form.currentJobLevelAppointmentTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="职务" prop="duties">
<el-input v-model="form.duties" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教师资格种类" prop="teacherQualificationType">
<el-input v-model="form.teacherQualificationType" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="教师资格证号码" prop="teacherQualificationCertificateNum">
<el-input v-model="form.teacherQualificationCertificateNum" placeholder="请输入教师资格证号码" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="参加工作时间" prop="workingHours">
<el-date-picker clearable v-model="form.workingHours" type="date" value-format="yyyy-MM-dd"
placeholder="请选择参加工作时间" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工作年限" prop="seniority">
<el-input v-model="form.seniority" placeholder="请输入教龄" />
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="到二中工作时间" prop="toSecondMiddleSchoolTime">
<el-date-picker clearable v-model="form.toSecondMiddleSchoolTime" type="date"
value-format="yyyy-MM-dd" placeholder="请选择到二中工作时间" :style="{ 'width': '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="到市二中工作年限" prop="toSecondAge">
<el-input v-model="form.toSecondAge" placeholder="请输入到市二中工作年限" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="教龄起算时间" prop="lengthOfTeacherTime">
<el-input v-model="form.lengthOfTeacherTime" placeholder="请输入教龄起算时间" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="工龄起算时间" prop="lengthOfServiceTime">
<el-input v-model="form.lengthOfServiceTime" placeholder="请输入工龄起算时间" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="在岗情况" prop="onDutySituation">
<el-select v-model="form.onDutySituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.duty_situation" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="在编情况" prop="currentSituation">
<el-select v-model="form.currentSituation" style="width: 100%" placeholder="请选择">
<el-option v-for="dict in dict.type.current_situation" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="毕业院校1" prop="graduationInstitution1">
<el-input v-model="form.graduationInstitution1" placeholder="请输入毕业院校1" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业1" prop="major1">
<el-input v-model="form.major1" placeholder="请输入专业1" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间1" prop="graduationTime1">
<el-input v-model="form.graduationTime1" placeholder="请输入毕业时间1" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="毕业院校2" prop="graduationInstitution2">
<el-input v-model="form.graduationInstitution2" placeholder="请输入毕业院校2" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业2" prop="major2">
<el-input v-model="form.major2" placeholder="请输入专业2" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间2" prop="graduationTime2">
<el-input v-model="form.graduationTime2" placeholder="请输入毕业时间2" />
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="毕业院校3" prop="graduationInstitution3">
<el-input v-model="form.graduationInstitution3" placeholder="请输入毕业院校3" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业3" prop="major3">
<el-input v-model="form.major3" placeholder="请输入专业3" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="毕业时间3" prop="graduationTime3">
<el-input v-model="form.graduationTime3" placeholder="请输入毕业时间3" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="第一学历" prop="firstDegree">
<el-input v-model="form.firstDegree" placeholder="请输入第一学历" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最后学历" prop="lastDegree">
<el-input v-model="form.lastDegree" placeholder="请输入最后学历" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学位" prop="degree">
<el-input v-model="form.degree" placeholder="请输入学位" />
</el-form-item>
</el-col>
</el-row>
<el-row>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="工作经历" prop="workExperience">
<el-input v-model="form.workExperience" placeholder="请输入工作经历" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钉钉手机号" prop="ddPhone">
<el-input v-model="form.ddPhone" placeholder="请输入钉钉手机号" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 导出对话框 -->
<ExportTable :open-export.sync="exportOptions.open" :title="exportOptions.title" @export="exportFile"></ExportTable>
</div>
</template>
<script>
import { listInformation, getInformation, delInformation, addInformation, updateInformation } from "@/api/smartSchool/electronicArchives/basicInformation";
import { uploadImage as commonUpload } from '@/api/common'
import { checkIdcard } from '@/utils/utilLibrary/validate'
import { getToken } from '@/utils/auth'
import { CustomCellStyle } from '@/enums/customStyle';
import { ExportType } from "@/enums/common";
import axios from "axios";
export default {
name: "Information",
dicts: ['sys_user_sex', 'politics_tatusls', 'teaching_subjects', 'current_professional', 'current_position', 'current_joblevel', 'duty_situation', 'current_situation'],
data() {
return {
// 导出选项
exportOptions: {
title: '选择导出类别',
open: false
},
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/teacher/basiclnformation/importData",
},
uploadForm: {
},
baseUrl: [process.env.VUE_APP_BASE_API],
uploadFileLoading: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 教师基础信息表格数据
informationList: [
],
// 弹出层标题
title: "",
// 图片上传遮罩层
uploadLoading: false,
// 是否显示弹出层
open: false,
query: false,
look: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
},
// 表单参数
form: {
},
// 表单校验
rules: {
name: [
{ required: true, message: "姓名不能为空", trigger: "blur" }
],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
teachingSubject: [
{ required: true, message: "任教学科不能为空", trigger: "change" }
],
toSecondMiddleSchoolTime: [
{ required: true, message: "到二中工作时间不能为空", trigger: "blur" }
],
ddPhone: [
{ required: true, message: "钉钉手机号不能为空", trigger: "blur" }
],
}
};
},
computed: {
//现岗位等级下拉框联动
filteredJobLevels() {
const position = this.form.currentPosition;
if (position === '1') {
// 专业技术岗
return this.dict.type.current_joblevel.filter((level, index) => index < 12);
} else if (position === '2') {
// 管理岗
return this.dict.type.current_joblevel.filter((level, index) => index === 0 || (index >= 12 && index < 17));
} else if (position === '3') {
// 工勤岗
return this.dict.type.current_joblevel.filter((level, index) => index === 0 || (index >= 17 && index <= 20));
}
// 如果当前职位类型不是1、2、3中的任何一个,则返回全部选项
return this.dict.type.current_joblevel;
},
},
created() {
this.getList();
},
methods: {
//身份证校验
handleIdCardBlur() {
const idCard = this.form.idCard;
if (idCard && idCard.length === 18) {
// 身份证号码有效,提取性别
this.form.sex = this.getGenderFromIdCard(idCard);
// 提取并计算年龄
const birthYear = parseInt(idCard.substring(6, 10));
const birthMonth = parseInt(idCard.substring(10, 12));
const birthDate = parseInt(idCard.substring(12, 14));
// 设置出生年月日
this.form.birthDate = `${birthYear}-${birthMonth}-${birthDate}`;
} else {
// 身份证号码无效或为空,清空性别、年龄和生日字段
this.clearFormInfo();
}
},
clearFormInfo() {
this.form.sex = "";
this.form.birthDate = "";
},
getGenderFromIdCard(idCard) {
if (idCard && idCard.length === 18) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? '女' : '男'; // 奇数表示男性,偶数表示女性
}
return ''; // 身份证号码无效或为空时返回空字符串
},
// 上传成功回调
handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url
this.commonUpload(file)
},
// 上传前格式和图片大小限制
beforeAvatarUpload(file) {
const type = file.type === 'image/jpeg' || 'image/jpg' || 'image/webp' || 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
if (!type) {
this.$message.error('图片格式不正确!(只能包含jpg,png,webp,JPEG)')
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return type && isLt2M
},
// 上传图片
uploadImage(file) {
const fileData = file.file
const formData = new FormData()
formData.append('file', fileData)
this.uploadLoading = true
commonUpload(formData)
.then(response => {
this.uploadLoading = false
this.$modal.msgSuccess('上传成功')
this.photoUrl = this.pev + response.url
this.form.photoUrl = response.url
})
.catch(error => {
this.uploadLoading = false
})
},
/** 查询教师基础信息列表 */
getList() {
this.loading = true;
listInformation(this.queryParams).then(response => {
this.informationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 文件压缩包上传前格式限制
beforeFileUpload(file) {
console.log(file, 1148)
const type = file.type === 'application/x-zip-compressed'
// const isLt2M = file.size / 1024 / 1024 < 2
if (!type) {
this.$message.error('文件格式不正确!(只能上传zip文件)')
}
// if (!isLt2M) {
// this.$message.error('上传图片大小不能超过 2MB!')
// }
return type
},
// 上传照片压缩包文件
uploadFiles(file) {
const fileData = file.file
const formData = new FormData()
formData.append('file', fileData)
this.uploadFileLoading = true
filesUpload(formData).then(response => {
this.uploadFileLoading = false
this.$modal.msg(response.msg)
this.getList()
}).catch(error => {
this.uploadFileLoading = false
})
},
handleView(row) {
console.log(row);
this.look = true;
this.reset();
const id = row.id || this.ids
getInformation(id).then(response => {
this.form = response.data;
console.log(this.form, 'this.form ');
this.title = "查看教师基础信息";
});
},
handleImport() {
this.reset();
this.title = "导入"
this.uploadOpen = true
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
// console.log(event, file, fileList);
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit()
},
cancelFile() {
this.uploadOpen = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.uploadOpen = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })
this.getList()
},
//下载模版
importTemplate() {
this.download(
"/teacher/basiclnformation/download",
{},
`教师基础信息_${Date.now()}.xlsx`
);
},
// 取消按钮
cancel() {
this.open = false;
this.look = false;
this.query = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
name: null,
idCard: null,
sex: null,
fileBirthDate: null,
birthDate: null,
hometown: null,
nation: null,
politicalLandscape: null,
partyMembershipTime: null,
teachingSubject: null,
currentProfessionalTitle: null,
currentProfessionalTitleTime: null,
currentHiringProfessionalTitle: null,
currentHiringProfessionalTitleTime: null,
currentPosition: null,
currentJobLevel: null,
currentJobLevelAppointmentTime: null,
duties: null,
teacherQualificationType: null,
teacherQualificationCertificateNum: null,
workingHours: null,
toSecondMiddleSchoolTime: null,
lengthOfTeacherTime: null,
lengthOfServiceTime: null,
onDutySituation: null,
currentSituation: null,
graduationInstitution1: null,
major1: null,
graduationTime1: null,
graduationInstitution2: null,
major2: null,
graduationTime2: null,
graduationInstitution3: null,
major3: null,
graduationTime3: null,
firstDegree: null,
lastDegree: null,
degree: null,
workExperience: null,
remark: null,
photoName: null,
photoUrl: null,
ddPhone: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuerycx() {
this.query = true;
this.resetcx();
},
handleQuery() {
this.query = true;
this.getList();
},
resetcx() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
}
},
/** 重置按钮操作 */
resetQuery() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
teachingSubject: "",
name: "",
sex: "",
birthDate: "",
politicalLandscape: "",
workingHours: "",
currentProfessionalTitle: "",
onDutySituation: "",
graduationInstitution1: "",
firstDegree: "",
}
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加教师基础信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
console.log(row);
this.look = true;
this.reset();
const id = row.id || this.ids
getInformation(id).then(response => {
this.form = response.data;
console.log(this.form, 'this.form ');
this.title = "修改教师基础信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateInformation(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addInformation(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除教师基础信息编号为"' + ids + '"的数据项?').then(function () {
return delInformation(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.exportOptions.open = true;
// this.download('/teacher/basiclnformation/export', {
// ...this.queryParams
// }, `information_${new Date().getTime()}.xlsx`)
},
/** 导出 */
exportFile(callback) {
const ids = this.ids;
const options = [
{ type: ExportType.TOTAL, path: '/teacher/basiclnformation/export', params: {} },
{ type: ExportType.SELECT, path: '/teacher/basiclnformation/export/' + ids, params: {} },
{ type: ExportType.QUERY, path: '/teacher/basiclnformation/export', params: this.queryForm },
]
callback(options, `教师基础信息${Date.now()}.xlsx`);
},
}
};
</script>
<style scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 30px;
color: #8c939d;
width: 270px;
height: 280px;
line-height: 250px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
/*
.el-input {
margin-top: -5px;
margin-bottom: -8px;
}
.el-select {
margin-top: -2px;
margin-bottom: -5px;
} */
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="年度" prop="year">
<el-input v-model="queryParams.year" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="考核结果" prop="checkResult">
<el-select v-model="queryParams.checkResult" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.check_result" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" 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 type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:assessment:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:assessment:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:assessment:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:assessment:export']">导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-upload" size="mini" @click="handleImport"
v-hasPermi="['system:assessment:import']">导入</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="assessmentList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" width="55" label="序号" align="center" />
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="年度" align="center" prop="year" />
<el-table-column label="考核结果" align="center" prop="checkResult">
<template slot-scope="scope">
<dict-tag :options="dict.type.check_result" :value="scope.row.checkResult" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:assessment:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:assessment: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" />
<el-dialog :title="title" :visible.sync="uploadOpen" width="520px" append-to-body inline @close="cancel">
<el-form ref="uploadForm" :model="uploadForm" :rules="rules" label-width="70px">
<el-form-item prop="dataUrl">
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<span>仅允许导入xls、xlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
@click="importTemplate">下载模板
</el-link>
</div>
</el-upload>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="cancelFile">取 消</el-button>
</div>
</el-dialog>
<!-- 添加或修改年度考核对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="年度" prop="year">
<el-input v-model="form.year" placeholder="请输入年度" />
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-input v-model="form.idCard" maxlength="18" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="考核结果" prop="checkResult">
<el-select v-model="form.checkResult" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.check_result" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAssessment, getAssessment, delAssessment, addAssessment, updateAssessment, exportAssessment } from "@/api/smartSchool/electronicArchives/professionalDevelopment/annualAssessment";
import { getToken } from '@/utils/auth'
import { uploadImage as commonUpload } from '@/api/common'
import { checkIdcard } from '@/utils/utilLibrary/validate'
export default {
name: "Assessment",
dicts: ["check_result"],
data() {
return {
uploadOpen: false,
// 遮罩层
loading: true,
// 选中数组
ids: [],
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/school/annualAssessment/importData",
},
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
selection: [], // 初始化为空数组
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 年度考核表格数据
assessmentList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
year: null,
name: null,
checkResult: null,
},
uploadForm: {
},
// 表单参数
form: {},
// 表单校验
rules: {
year: [
{ required: true, message: "年度不能为空", trigger: "change" }
],
name: [
{ required: true, message: "姓名不能为空", trigger: "blur" }
],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
checkResult: [
{ required: true, message: "考核结果不能为空", trigger: "change" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询年度考核列表 */
getList() {
this.loading = true;
listAssessment(this.queryParams).then(response => {
this.assessmentList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 导入按钮操作 */
handleImport(row) {
this.reset();
this.title = "导入"
this.uploadOpen = true
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
// console.log(event, file, fileList);
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.uploadOpen = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + '</div>', '导入结果', { dangerouslyUseHTMLString: true })
this.getList()
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
cancelFile() {
this.uploadOpen = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
},
// 表单重置
reset() {
this.form = {
id: null,
year: null,
name: null,
idCard: null,
checkResult: null,
remark: null,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selection = selection;
this.ids = selection.map(item => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit()
},
//下载模版
importTemplate() {
this.download(
"/school/annualAssessment/importTemplate",
{},
`年度考核模板_${Date.now()}.xlsx`
);
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加年度考核";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getAssessment(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改年度考核";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAssessment(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAssessment(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除年度考核编号为"' + ids + '"的数据项?').then(function () {
return delAssessment(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
// const queryParams = {
// year: this.queryParams.year, // 从 this.queryParams 中获取学年
// checkResult: this.queryParams.checkResult, // 从 this.queryParams 中获取考核结果
// name: this.queryParams.name // 从 this.queryParams 中获取姓名
// };
// if (this.ids.length > 0) {
// queryParams.ids = this.ids; // 如果有勾选数据,则添加选中数据主键id数组
// }
// if (this.single && this.selection.length > 0) {
// queryParams.id = this.selection[0].id; // 如果只选中了一条数据,则添加选中单条数据的id
// }
// console.log(this.queryParams, 'this.queryParams');
// console.log('object', JSON.stringify(queryParams));
// let object = JSON.stringify(queryParams)
// exportAssessment(queryParams).then(res => {
// console.log('导出', res);
// })
this.download('/school/annualAssessment/export', {
...this.queryParams
}, `年度考核_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:honors:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:honors:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="honorsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改综合荣誉对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors";
export default {
name: "Honors",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 综合荣誉表格数据
honorsList: [{
id: 1,
sub: "语文",
awardType: "国家级",
awardRank: "国家级",
awardLevel: "国家级",
resultName: "成果名称",
userId: "1",
userName: "获奖人",
org: "主办单位",
awardTime: "2020-01-01",
remark: "备注",
pictureName: "证书图片名称",
pictureUrl: "证书图片地址",
createBy: "创建人",
createTime: "2020-01-01",
updateBy: "修改人",
updateTime: "2020-01-01",
delFlag: "0"
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询综合荣誉列表 */
getList() {
this.loading = true;
listHonors(this.queryParams).then(response => {
this.honorsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
handleExamine() {
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加综合荣誉";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getHonors(id).then(response => {
this.form = response.data;
this.title = "修改综合荣誉";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateHonors(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addHonors(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除综合荣誉编号为"' + ids + '"的数据项?').then(function () {
return delHonors(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/honors/export', {
...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:works:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:works:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:works:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:works:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="worksList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改论文著作对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listWorks, getWorks, delWorks, addWorks, updateWorks } from "@/api/system/works";
export default {
name: "Works",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 论文著作表格数据
worksList: [{
id: 1,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询论文著作列表 */
getList() {
this.loading = true;
listWorks(this.queryParams).then(response => {
this.worksList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加论文著作";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getWorks(id).then(response => {
this.form = response.data;
this.title = "修改论文著作";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateWorks(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addWorks(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除论文著作编号为"' + ids + '"的数据项?').then(function () {
return delWorks(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/works/export', {
...this.queryParams
}, `works_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:awards:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:awards:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="讲课获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改讲课获奖对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
export default {
name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 讲课获奖表格数据
awardsList: [{
id: 1,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
upateBy: null,
updateTime: null,
delFlag: null
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
upateBy: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询讲课获奖列表 */
getList() {
this.loading = true;
listAwards(this.queryParams).then(response => {
this.awardsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
upateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加讲课获奖";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getAwards(id).then(response => {
this.form = response.data;
this.title = "修改讲课获奖";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除讲课获奖编号为"' + ids + '"的数据项?').then(function () {
return delAwards(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/awards/export', {
...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:awards:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:awards:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改教师获奖对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
export default {
name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 教师获奖表格数据
awardsList: [{
id: 1,
sub: 1,
awardType: 1,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询教师获奖列表 */
getList() {
this.loading = true;
listAwards(this.queryParams).then(response => {
this.awardsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加教师获奖";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getAwards(id).then(response => {
this.form = response.data;
this.title = "修改教师获奖";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除教师获奖编号为"' + ids + '"的数据项?').then(function () {
return delAwards(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/awards/export', {
...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="69px">
<el-form-item label="姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入" clearable @keyup.enter.native="handleQuery"
style="width: 200px;" />
</el-form-item>
<el-form-item label="学年" prop="year">
<el-input v-model="queryParams.year" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学期" prop="semster">
<el-select v-model="queryParams.semster" placeholder="请选择">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="届别" prop="rank">
<el-input v-model="queryParams.rank" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="年级" prop="grade">
<el-select v-model="queryParams.grade" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.grade_da" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="考试时间" prop="examTime">
<el-date-picker clearable v-model="queryParams.examTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 200px;">
</el-date-picker>
</el-form-item>
<el-form-item label="考试类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.exam_typeda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="班级" prop="class">
<el-input v-model="queryParams.class" placeholder="请输入班级" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="班级类型" prop="classType">
<el-select v-model="queryParams.classType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.class_type" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="考核分" prop="assessmentScore">
<el-input v-model="queryParams.assessmentScore" 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 type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:achievements:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:achievements:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:achievements:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-upload" size="mini" @click="handleImport"
v-hasPermi="['system:student:export']">导入
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:achievements:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="achievementsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="学年" align="center" prop="schoolYear" />
<el-table-column label="学期" align="center" prop="semester" />
<el-table-column label="考试时间" align="center" prop="examTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.examTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="考试类型" align="center" prop="examType" />
<el-table-column label="届别" align="center" prop="year" />
<el-table-column label="年级" align="center" prop="grade" />
<el-table-column label="姓名" align="center" prop="userName" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="班级" align="center" prop="class" />
<el-table-column label="班级类型" align="center" prop="classType" />
<el-table-column label="考核分" align="center" prop="assessmentScore" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:achievements:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:achievements: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" />
<!-- 添加或修改教学成绩对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学年" prop="year">
<el-input v-model="form.year" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学期" prop="semster">
<el-select v-model="form.semster" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="考试时间" prop="examTime">
<el-date-picker clearable v-model="form.examTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择考试时间" style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="考试类型" prop="type">
<el-select v-model="form.type" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.exam_typeda" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="届别" prop="year">
<el-input v-model="form.year" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年级" prop="grade">
<el-select v-model="form.grade" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.grade_da" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="姓名" prop="userName">
<el-input v-model="form.userName" placeholder="请输入用户姓名" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入身份证号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.sub" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班级" prop="class">
<el-input v-model="form.class" placeholder="请输入班级" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.class_type" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="考核分" prop="assessmentScore">
<el-input v-model="form.assessmentScore" placeholder="请输入考核分" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listAchievements, getAchievements, delAchievements, addAchievements, updateAchievements } from "@/api/system/achievements";
export default {
name: "Achievements",
dicts: ["teaching_subjects", 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 教学成绩表格数据
achievementsList: [
{
year: 2015
}
],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
schoolYear: null,
semester: null,
examTime: null,
examType: null,
year: null,
grade: null,
userId: null,
userName: null,
idCard: null,
sub: null,
class: null,
classType: null,
assessmentScore: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
schoolYear: [
{ required: true, message: "学年(下拉框)不能为空", trigger: "change" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
examTime: [
{ required: true, message: "考试时间不能为空", trigger: "blur" }
],
examType: [
{ required: true, message: "考试类型不能为空", trigger: "change" }
],
year: [
{ required: true, message: "届别(下拉框)不能为空", trigger: "change" }
],
grade: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
userId: [
{ required: true, message: "用户id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "用户姓名不能为空", trigger: "blur" }
],
idCard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
class: [
{ required: true, message: "班级不能为空", trigger: "blur" }
],
classType: [
{ required: true, message: "班级类型不能为空", trigger: "change" }
],
assessmentScore: [
{ required: true, message: "考核分不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询教学成绩列表 */
getList() {
this.loading = true;
listAchievements(this.queryParams).then(response => {
this.achievementsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
schoolYear: null,
semester: null,
examTime: null,
examType: null,
year: null,
grade: null,
userId: null,
userName: null,
idCard: null,
sub: null,
class: null,
classType: null,
assessmentScore: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加教学成绩";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getAchievements(id).then(response => {
this.form = response.data;
this.title = "修改教学成绩";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAchievements(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAchievements(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除教学成绩编号为"' + ids + '"的数据项?').then(function () {
return delAchievements(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/achievements/export', {
...this.queryParams
}, `achievements_${new Date().getTime()}.xlsx`)
}
}
};
</script>
......@@ -51,12 +51,10 @@
<el-date-picker v-model="form.startTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="endTime">
<el-date-picker v-model="form.endTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getListtc">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerytc">重置</el-button>
......
......@@ -278,7 +278,6 @@ export default {
},
// 校验规则
rules: {
applyMoney: [{ required: true, message: '申请金额不能为空', trigger: 'blur' }],
isGovernmentPurchase: [{ required: true, message: '是否政府采购不能为空', trigger: 'blur' }],
projectExpenditures: [{ required: true, message: '项目支出明细不能为空', trigger: 'blur' }],
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:honors:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:honors:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="honorsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改综合荣誉对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors";
export default {
name: "Honors",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 综合荣誉表格数据
honorsList: [{
id: 1,
sub: "语文",
awardType: "国家级",
awardRank: "国家级",
awardLevel: "国家级",
resultName: "成果名称",
userId: "1",
userName: "获奖人",
org: "主办单位",
awardTime: "2020-01-01",
remark: "备注",
pictureName: "证书图片名称",
pictureUrl: "证书图片地址",
createBy: "创建人",
createTime: "2020-01-01",
updateBy: "修改人",
updateTime: "2020-01-01",
delFlag: "0"
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询综合荣誉列表 */
getList() {
this.loading = true;
listHonors(this.queryParams).then(response => {
this.honorsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
handleExamine() {
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加综合荣誉";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getHonors(id).then(response => {
this.form = response.data;
this.title = "修改综合荣誉";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateHonors(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addHonors(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除综合荣誉编号为"' + ids + '"的数据项?').then(function () {
return delHonors(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/honors/export', {
...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:works:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:works:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:works:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:works:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="worksList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改论文著作对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listWorks, getWorks, delWorks, addWorks, updateWorks } from "@/api/system/works";
export default {
name: "Works",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 论文著作表格数据
worksList: [{
id: 1,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
remark: [
{ required: true, message: "备注不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询论文著作列表 */
getList() {
this.loading = true;
listWorks(this.queryParams).then(response => {
this.worksList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加论文著作";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getWorks(id).then(response => {
this.form = response.data;
this.title = "修改论文著作";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateWorks(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addWorks(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除论文著作编号为"' + ids + '"的数据项?').then(function () {
return delWorks(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/works/export', {
...this.queryParams
}, `works_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:awards:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:awards:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="讲课获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改讲课获奖对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
export default {
name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 讲课获奖表格数据
awardsList: [{
id: 1,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
upateBy: null,
updateTime: null,
delFlag: null
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
upateBy: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询讲课获奖列表 */
getList() {
this.loading = true;
listAwards(this.queryParams).then(response => {
this.awardsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
upateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加讲课获奖";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getAwards(id).then(response => {
this.form = response.data;
this.title = "修改讲课获奖";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除讲课获奖编号为"' + ids + '"的数据项?').then(function () {
return delAwards(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/awards/export', {
...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间">
</el-date-picker>
</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 icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:awards:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:awards:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类型" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.awardTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors: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" />
<!-- 添加或修改教师获奖对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="成果名称" prop="resultName">
<el-input v-model="form.resultName" placeholder="请输入成果名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="主办单位" prop="org">
<el-input v-model="form.org" placeholder="请输入主办单位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="获奖时间" prop="awardTime">
<el-date-picker clearable v-model="form.awardTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证书图片" prop="pictureName">
<el-input v-model="form.pictureName" placeholder="请输入证书图片名称" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
export default {
name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 教师获奖表格数据
awardsList: [{
id: 1,
sub: 1,
awardType: 1,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
}],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "change" }
],
awardType: [
{ required: true, message: "获奖类别不能为空", trigger: "change" }
],
awardRank: [
{ required: true, message: "获奖级别不能为空", trigger: "change" }
],
awardLevel: [
{ required: true, message: "获奖等级不能为空", trigger: "change" }
],
resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" }
],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" }
],
org: [
{ required: true, message: "主办单位不能为空", trigger: "blur" }
],
awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" }
],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
}
};
},
created() {
// this.getList();
},
methods: {
/** 查询教师获奖列表 */
getList() {
this.loading = true;
listAwards(this.queryParams).then(response => {
this.awardsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
sub: null,
awardType: null,
awardRank: null,
awardLevel: null,
resultName: null,
userId: null,
userName: null,
org: null,
awardTime: null,
remark: null,
pictureName: null,
pictureUrl: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加教师获奖";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
const id = row.id || this.ids
getAwards(id).then(response => {
this.form = response.data;
this.title = "修改教师获奖";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除教师获奖编号为"' + ids + '"的数据项?').then(function () {
return delAwards(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('system/awards/export', {
...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`)
}
}
};
</script>
......@@ -15,7 +15,7 @@
<el-input v-model="queryParams.title" clearable placeholder="请输入标题" @keyup.enter.native="handleQuery"></el-input>
</el-form-item>
<el-form-item label="请假时间">
<el-date-picker v-model="dateRange" style="width: 300px" value-format="yyyy-MM-dd" type="datetimerange"
<el-date-picker v-model="dateRange" style="width: 300px" value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange"
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
......
......@@ -35,7 +35,7 @@ module.exports = {
host: "",
port: 1024,
hot: true,
open: "chrome",
open: true,
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
......@@ -44,12 +44,12 @@ module.exports = {
//target: ` http://43.143.63.140:8848`,
//target: ` http://43.143.63.140:8095`,
//部署时后端地址
//target: `http://47.105.176.202:8137`,
// target: `http://47.105.176.202:5131`,
//学校内网
// target: `http://10.20.100.201:57321`,
target: `http://47.105.176.202:5112`,
// target: `http://192.168.1.113:8848`,
// target: `http://47.105.176.202:5115`,
target: `http://192.168.1.110:8848`,
// target: `http://172.18.6.157:8848`,
changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: " ",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment