Commit 99a74f29 by xty

Merge remote-tracking branch 'origin/master'

parents 276db3da 314e1aee
...@@ -287,6 +287,14 @@ public class ExcelUtil<T> ...@@ -287,6 +287,14 @@ public class ExcelUtil<T>
return importExcel(is, 0); return importExcel(is, 0);
} }
public List<T> importExceltoRow(InputStream is,int rownum) throws Exception
{
return importExceltoRow(StringUtils.EMPTY,is, 0,rownum);
}
/** /**
* 对excel表单默认第一个索引名转换成list * 对excel表单默认第一个索引名转换成list
* *
...@@ -298,6 +306,8 @@ public class ExcelUtil<T> ...@@ -298,6 +306,8 @@ public class ExcelUtil<T>
return importExcelNdkh(is, 0); return importExcelNdkh(is, 0);
} }
/** /**
* 对excel表单默认第一个索引名转换成list * 对excel表单默认第一个索引名转换成list
* *
...@@ -322,6 +332,188 @@ public class ExcelUtil<T> ...@@ -322,6 +332,188 @@ public class ExcelUtil<T>
return importExcelNdkh(StringUtils.EMPTY, is, titleNum); return importExcelNdkh(StringUtils.EMPTY, is, titleNum);
} }
/**
* 对excel表单指定表格索引名转换成list
*
* @param sheetName 表格索引名
* @param titleNum 标题占用行数
* @param is 输入流
* @return 转换后集合
*/
public List<T> importExceltoRow(String sheetName, InputStream is, int titleNum,int rownum) throws Exception
{
this.type = Type.IMPORT;
this.wb = WorkbookFactory.create(is);
List<T> list = new ArrayList<T>();
// 如果指定sheet名,则取指定sheet中的内容 否则默认指向第1个sheet
Sheet sheet = StringUtils.isNotEmpty(sheetName) ? wb.getSheet(sheetName) : wb.getSheetAt(0);
if (sheet == null)
{
throw new IOException("文件sheet不存在");
}
boolean isXSSFWorkbook = !(wb instanceof HSSFWorkbook);
Map<String, PictureData> pictures;
if (isXSSFWorkbook)
{
pictures = getSheetPictures07((XSSFSheet) sheet, (XSSFWorkbook) wb);
}
else
{
pictures = getSheetPictures03((HSSFSheet) sheet, (HSSFWorkbook) wb);
}
// 获取最后一个非空行的行下标,比如总行数为n,则返回的为n-1
int rows = sheet.getLastRowNum();
if (rows > 0)
{
// 定义一个map用于存放excel列的序号和field.
Map<String, Integer> cellMap = new HashMap<String, Integer>();
// 获取表头
Row heard = sheet.getRow(titleNum);
for (int i = 0; i < heard.getPhysicalNumberOfCells(); i++)
{
Cell cell = heard.getCell(i);
if (StringUtils.isNotNull(cell))
{
String value = this.getCellValue(heard, i).toString();
cellMap.put(value, i);
}
else
{
cellMap.put(null, i);
}
}
// 有数据时才处理 得到类的所有field.
List<Object[]> fields = this.getFields();
Map<Integer, Object[]> fieldsMap = new HashMap<Integer, Object[]>();
for (Object[] objects : fields)
{
Excel attr = (Excel) objects[1];
Integer column = cellMap.get(attr.name());
if (column != null)
{
fieldsMap.put(column, objects);
}
}
for (int i = titleNum + 1+rownum; i <= rows; i++)
{
// 从第2行开始取数据,默认第一行是表头.
Row row = sheet.getRow(i);
// 判断当前行是否是空行
if (isRowEmpty(row))
{
continue;
}
T entity = null;
for (Map.Entry<Integer, Object[]> entry : fieldsMap.entrySet())
{
Object val = this.getCellValue(row, entry.getKey());
// 如果不存在实例则新建.
entity = (entity == null ? clazz.newInstance() : entity);
// 从map中得到对应列的field.
Field field = (Field) entry.getValue()[0];
Excel attr = (Excel) entry.getValue()[1];
// 取得类型,并根据对象类型设置值.
Class<?> fieldType = field.getType();
if (String.class == fieldType)
{
String s = Convert.toStr(val);
if (StringUtils.endsWith(s, ".0"))
{
val = StringUtils.substringBefore(s, ".0");
}
else
{
String dateFormat = field.getAnnotation(Excel.class).dateFormat();
if (StringUtils.isNotEmpty(dateFormat))
{
val = parseDateToStr(dateFormat, val);
}
else
{
val = Convert.toStr(val);
}
}
}
else if ((Integer.TYPE == fieldType || Integer.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
{
val = Convert.toInt(val);
}
else if ((Long.TYPE == fieldType || Long.class == fieldType) && StringUtils.isNumeric(Convert.toStr(val)))
{
val = Convert.toLong(val);
}
else if (Double.TYPE == fieldType || Double.class == fieldType)
{
val = Convert.toDouble(val);
}
else if (Float.TYPE == fieldType || Float.class == fieldType)
{
val = Convert.toFloat(val);
}
else if (BigDecimal.class == fieldType)
{
val = Convert.toBigDecimal(val);
}
else if (Date.class == fieldType)
{
if (val instanceof String)
{
val = DateUtils.parseDate(val);
}
else if (val instanceof Double)
{
val = DateUtil.getJavaDate((Double) val);
}
}
else if (Boolean.TYPE == fieldType || Boolean.class == fieldType)
{
val = Convert.toBool(val, false);
}
if (StringUtils.isNotNull(fieldType))
{
String propertyName = field.getName();
if (StringUtils.isNotEmpty(attr.targetAttr()))
{
propertyName = field.getName() + "." + attr.targetAttr();
}
else if (StringUtils.isNotEmpty(attr.readConverterExp()))
{
val = reverseByExp(Convert.toStr(val), attr.readConverterExp(), attr.separator());
}
else if (StringUtils.isNotEmpty(attr.dictType()))
{
val = reverseDictByExp(Convert.toStr(val), attr.dictType(), attr.separator());
}
else if (!attr.handler().equals(ExcelHandlerAdapter.class))
{
val = dataFormatHandlerAdapter(val, attr);
}
else if (ColumnType.IMAGE == attr.cellType() && StringUtils.isNotEmpty(pictures))
{
PictureData image = pictures.get(row.getRowNum() + "_" + entry.getKey());
if (image == null)
{
val = "";
}
else
{
byte[] data = image.getData();
val = FileUtils.writeImportBytes(data);
}
}
ReflectUtils.invokeSetter(entity, propertyName, val);
}
}
list.add(entity);
}
}
return list;
}
/** /**
* 对excel表单指定表格索引名转换成list * 对excel表单指定表格索引名转换成list
* *
......
...@@ -50,3 +50,11 @@ export function exportInformation(data) { ...@@ -50,3 +50,11 @@ export function exportInformation(data) {
data: data, data: data,
}); });
} }
//学生照片导入
export function filesUpload(files) {
return request({
url: "/teacher/basiclnformation/importTeacherPicture",
method: "post",
data: files,
});
}
...@@ -8,6 +8,14 @@ export function listHonors(query) { ...@@ -8,6 +8,14 @@ export function listHonors(query) {
params: query, params: query,
}); });
} }
//查看综合荣誉列表(个人)
export function listHonorsgr(query) {
return request({
url: "/system/honors/listGr",
method: "get",
params: query,
});
}
// 查询综合荣誉详细 // 查询综合荣誉详细
export function getHonors(id) { export function getHonors(id) {
...@@ -42,3 +50,20 @@ export function delHonors(id) { ...@@ -42,3 +50,20 @@ export function delHonors(id) {
method: "delete", method: "delete",
}); });
} }
//获取用户
export function getUserList(data) {
return request({
url: "/system/achievements/getUserList",
method: "get",
params: data,
});
}
//审核
export function audit(data) {
return request({
url: "/system/honors/audit",
method: "post",
data: data,
});
}
...@@ -42,3 +42,11 @@ export function delWorks(id) { ...@@ -42,3 +42,11 @@ export function delWorks(id) {
method: "delete", method: "delete",
}); });
} }
//审核
export function audit(data) {
return request({
url: "/system/works/audit",
method: "post",
data: data,
});
}
...@@ -42,3 +42,11 @@ export function delAwards(id) { ...@@ -42,3 +42,11 @@ export function delAwards(id) {
method: "delete", method: "delete",
}); });
} }
//审核
export function audit(data) {
return request({
url: "/system/awards/audit",
method: "post",
data: data,
});
}
...@@ -3,7 +3,7 @@ import request from "@/utils/request"; ...@@ -3,7 +3,7 @@ import request from "@/utils/request";
// 查询教师获奖列表 // 查询教师获奖列表
export function listAwards(query) { export function listAwards(query) {
return request({ return request({
url: "/system/awards/list", url: "/school/teacherAwards/list",
method: "get", method: "get",
params: query, params: query,
}); });
...@@ -12,7 +12,7 @@ export function listAwards(query) { ...@@ -12,7 +12,7 @@ export function listAwards(query) {
// 查询教师获奖详细 // 查询教师获奖详细
export function getAwards(id) { export function getAwards(id) {
return request({ return request({
url: "/system/awards/" + id, url: "/school/teacherAwards/" + id,
method: "get", method: "get",
}); });
} }
...@@ -20,7 +20,7 @@ export function getAwards(id) { ...@@ -20,7 +20,7 @@ export function getAwards(id) {
// 新增教师获奖 // 新增教师获奖
export function addAwards(data) { export function addAwards(data) {
return request({ return request({
url: "/system/awards", url: "/school/teacherAwards",
method: "post", method: "post",
data: data, data: data,
}); });
...@@ -29,7 +29,7 @@ export function addAwards(data) { ...@@ -29,7 +29,7 @@ export function addAwards(data) {
// 修改教师获奖 // 修改教师获奖
export function updateAwards(data) { export function updateAwards(data) {
return request({ return request({
url: "/system/awards", url: "/school/teacherAwards",
method: "put", method: "put",
data: data, data: data,
}); });
...@@ -38,7 +38,15 @@ export function updateAwards(data) { ...@@ -38,7 +38,15 @@ export function updateAwards(data) {
// 删除教师获奖 // 删除教师获奖
export function delAwards(id) { export function delAwards(id) {
return request({ return request({
url: "/system/awards/" + id, url: "/school/teacherAwards/" + id,
method: "delete", method: "delete",
}); });
} }
//审核
export function audit(data) {
return request({
url: "/school/teacherAwards/audit",
method: "post",
data: data,
});
}
import request from "@/utils/request";
// 查询班主任考核列表
export function listAssessment(query) {
return request({
url: "/assessment/list",
method: "get",
params: query,
});
}
// 查询班主任考核详细
export function getAssessment(id) {
return request({
url: "/assessment/" + id,
method: "get",
});
}
// 新增班主任考核
export function addAssessment(data) {
return request({
url: "/assessment",
method: "post",
data: data,
});
}
// 修改班主任考核
export function updateAssessment(data) {
return request({
url: "/assessment",
method: "put",
data: data,
});
}
// 删除班主任考核
export function delAssessment(id) {
return request({
url: "/assessment/" + id,
method: "delete",
});
}
import request from "@/utils/request";
// 查询工作量信息列表
export function listAworkload(query) {
return request({
url: "/aworkload/list",
method: "get",
params: query,
});
}
// 查询工作量信息详细
export function getAworkload(id) {
return request({
url: "/aworkload/" + id,
method: "get",
});
}
// 新增工作量信息
export function addAworkload(data) {
return request({
url: "/aworkload",
method: "post",
data: data,
});
}
// 修改工作量信息
export function updateAworkload(data) {
return request({
url: "/aworkload",
method: "put",
data: data,
});
}
// 删除工作量信息
export function delAworkload(id) {
return request({
url: "/aworkload/" + id,
method: "delete",
});
}
...@@ -82,6 +82,7 @@ export default { ...@@ -82,6 +82,7 @@ export default {
// 添加选中导出判断 // 添加选中导出判断
isSelectedData(path) { isSelectedData(path) {
console.log('path', path)
if (this.exportType === ExportType.SELECT) { if (this.exportType === ExportType.SELECT) {
const params = path.slice(path.lastIndexOf("/") + 1); const params = path.slice(path.lastIndexOf("/") + 1);
if (!params) { if (!params) {
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="single" @click="handleDelete"
v-hasPermi="['system:student:remove']">删除 v-hasPermi="['system:student:remove']">删除
</el-button> </el-button>
</el-col> </el-col>
...@@ -847,7 +847,8 @@ ...@@ -847,7 +847,8 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 导出对话框 --> <!-- 导出对话框 -->
<ExportTable :open-export.sync="exportOptions.open" :title="exportOptions.title" @export="exportFile"></ExportTable> <ExportTableNew :open-export.sync="exportOptions.open" :title="exportOptions.title" @export="exportFile">
</ExportTableNew>
</div> </div>
</template> </template>
...@@ -857,6 +858,7 @@ import { ...@@ -857,6 +858,7 @@ import {
getInformation, getInformation,
delInformation, delInformation,
addInformation, addInformation,
filesUpload,
updateInformation, updateInformation,
} from "@/api/smartSchool/electronicArchives/basicInformation"; } from "@/api/smartSchool/electronicArchives/basicInformation";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
...@@ -903,6 +905,7 @@ export default { ...@@ -903,6 +905,7 @@ export default {
}, },
uploadForm: {}, uploadForm: {},
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
uploadLoading: false,
uploadFileLoading: false, uploadFileLoading: false,
// 遮罩层 // 遮罩层
loading: true, loading: true,
...@@ -1258,8 +1261,9 @@ export default { ...@@ -1258,8 +1261,9 @@ export default {
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.selection = selection; this.selection = selection;
this.ids = selection.map(item => item.id); this.ids = selection.map(item => item.id);
this.single = selection.length !== 1; this.single = selection.length == 1;
this.multiple = !selection.length; this.multiple = selection.length > 1;
// 先定义 isMultiple 变量为 false // 先定义 isMultiple 变量为 false
let isMultiple = false; let isMultiple = false;
if (this.selection.length === 1) { if (this.selection.length === 1) {
...@@ -1291,6 +1295,7 @@ export default { ...@@ -1291,6 +1295,7 @@ export default {
const id = row.id || this.ids; const id = row.id || this.ids;
getInformation(id).then((response) => { getInformation(id).then((response) => {
this.form = response.data; this.form = response.data;
this.pictureUrl = this.pev + response.url;
console.log(this.form, "this.form "); console.log(this.form, "this.form ");
this.title = "修改教师基础信息"; this.title = "修改教师基础信息";
}); });
...@@ -1303,7 +1308,7 @@ export default { ...@@ -1303,7 +1308,7 @@ export default {
updateInformation(this.form).then((response) => { updateInformation(this.form).then((response) => {
console.log(this.form, 'this.form'); console.log(this.form, 'this.form');
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.look = false;
this.getList(); this.getList();
}); });
} else { } else {
...@@ -1333,36 +1338,44 @@ export default { ...@@ -1333,36 +1338,44 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.exportOptions.open = true; this.download('teacher/basiclnformation/export', {
...this.queryParams
}, `data_${Date.now()}.xlsx`)
// this.exportOptions.open = true;
// this.download('/teacher/basiclnformation/export', { // this.download('/teacher/basiclnformation/export', {
// ...this.queryParams // ...this.queryParams
// }, `information_${new Date().getTime()}.xlsx`) // }, `information_${new Date().getTime()}.xlsx`)
}, },
/** 导出 */ /** 导出 */
exportFile(callback) { exportFile(callback) {
// 获取当前选中的多选项的 ids 和单选项的 id
const ids = this.ids;
const id = this.id;
console.log(ids, id);
const options = [
{
type: ExportType.TOTAL,
path: "/teacher/basiclnformation/export",
params: {},
},
{
type: ExportType.SELECT,
path: "/teacher/basiclnformation/export/",
params: { ids, id },
},
{
type: ExportType.QUERY,
path: "/teacher/basiclnformation/export",
params: this.queryParams,
},
];
callback(options, `教师基础信息${Date.now()}.xlsx`); // let exportId = ''
// if (this.multiple == true) {
// exportId = this.ids
// } else {
// exportId = this.id
// }
// console.log('exportId', exportId);
// const options = [
// {
// type: ExportType.TOTAL,
// path: "/teacher/basiclnformation/export",
// params: {},
// },
// {
// type: ExportType.SELECT,
// path: "/teacher/basiclnformation/export/",
// params: { exportId },
// },
// {
// type: ExportType.QUERY,
// path: "/teacher/basiclnformation/export",
// params: this.queryParams,
// },
// ];
// callback(options, `教师基础信息${Date.now()}.xlsx`);
}, },
......
<template>
<div>
<h2>教师个人信息汇总</h2>
</div>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
<template>
<div>
<h2></h2>
</div>
</template>
<script>
export default {
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
...@@ -2,25 +2,29 @@ ...@@ -2,25 +2,29 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </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_categoriesjs" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -34,6 +38,7 @@ ...@@ -34,6 +38,7 @@
placeholder="请选择获奖时间"> placeholder="请选择获奖时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -43,31 +48,31 @@ ...@@ -43,31 +48,31 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button> v-hasPermi="['system:awards:add']">新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:honors:export']">导出</el-button> v-hasPermi="['system:awards:export']">导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table :data="honorsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" /> <el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类" align="center" prop="awardType" /> <el-table-column label="获奖类" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> <el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" /> <el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" /> <el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180"> <el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
...@@ -90,8 +95,8 @@ ...@@ -90,8 +95,8 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改综合荣誉对话框 --> <!-- 添加或修改教师获奖对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -105,8 +110,11 @@ ...@@ -105,8 +110,11 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
@keyup.enter.native="handleQuery" /> <el-option v-for="dict in dict.type.award_categoriesjs" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -186,11 +194,11 @@ ...@@ -186,11 +194,11 @@
</template> </template>
<script> <script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors"; // import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
export default { export default {
name: "Honors", name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 图片上传遮罩层 // 图片上传遮罩层
...@@ -208,26 +216,26 @@ export default { ...@@ -208,26 +216,26 @@ export default {
showSearch: true, showSearch: true,
// 总条数 // 总条数
total: 0, total: 0,
// 综合荣誉表格数据 // 教师获奖表格数据
honorsList: [{ awardsList: [{
id: 1, id: 1,
sub: "语文", sub: 1,
awardType: "国家级", awardType: 1,
awardRank: "国家级", awardRank: null,
awardLevel: "国家级", awardLevel: null,
resultName: "成果名称", resultName: null,
userId: "1", userId: null,
userName: "获奖人", userName: null,
org: "主办单位", org: null,
awardTime: "2020-01-01", awardTime: null,
remark: "备注", remark: null,
pictureName: "证书图片名称", pictureName: null,
pictureUrl: "证书图片地址", pictureUrl: null,
createBy: "创建人", createBy: null,
createTime: "2020-01-01", createTime: null,
updateBy: "修改人", updateBy: null,
updateTime: "2020-01-01", updateTime: null,
delFlag: "0" delFlag: null
}], }],
// 弹出层标题 // 弹出层标题
title: "", title: "",
...@@ -296,18 +304,15 @@ export default { ...@@ -296,18 +304,15 @@ export default {
// this.getList(); // this.getList();
}, },
methods: { methods: {
/** 查询综合荣誉列表 */ /** 查询教师获奖列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listHonors(this.queryParams).then(response => { listAwards(this.queryParams).then(response => {
this.honorsList = response.rows; this.awardsList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
handleExamine() {
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.photoUrl = res.data.url;
...@@ -396,16 +401,16 @@ export default { ...@@ -396,16 +401,16 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加综合荣誉"; this.title = "添加教师获奖";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
this.open = true; this.open = true;
const id = row.id || this.ids const id = row.id || this.ids
getHonors(id).then(response => { getAwards(id).then(response => {
this.form = response.data; this.form = response.data;
this.title = "修改综合荣誉"; this.title = "修改教师获奖";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
...@@ -413,13 +418,13 @@ export default { ...@@ -413,13 +418,13 @@ export default {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateHonors(this.form).then(response => { updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addHonors(this.form).then(response => { addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
...@@ -431,8 +436,8 @@ export default { ...@@ -431,8 +436,8 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除综合荣誉编号为"' + ids + '"的数据项?').then(function () { this.$modal.confirm('是否确认删除教师获奖编号为"' + ids + '"的数据项?').then(function () {
return delHonors(ids); return delAwards(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
...@@ -440,9 +445,9 @@ export default { ...@@ -440,9 +445,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/honors/export', { this.download('system/awards/export', {
...this.queryParams ...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`) }, `awards_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable @keyup.enter.native="handleQuery"
@keyup.enter.native="handleQuery" /> style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -29,9 +29,14 @@ ...@@ -29,9 +29,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="startTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="endTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -62,11 +67,27 @@ ...@@ -62,11 +67,27 @@
<el-table :data="honorsList" @selection-change="handleSelectionChange"> <el-table :data="honorsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center" prop="type">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类型" align="center" prop="awardType" /> <span>综合荣誉</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" /> <el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -78,11 +99,13 @@ ...@@ -78,11 +99,13 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:honors:edit']"
v-if="scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:honors:remove']"
v-if="scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)" <el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors:remove']">审核</el-button> v-hasPermi="['system:honors:remove']" v-if="scope.row.auditState === '1'">审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -96,7 +119,7 @@ ...@@ -96,7 +119,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -105,7 +128,7 @@ ...@@ -105,7 +128,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-input v-model="form.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -138,7 +161,9 @@ ...@@ -138,7 +161,9 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@input="openSelect('选择分管领导', 'leaderList', 2)"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -165,11 +190,12 @@ ...@@ -165,11 +190,12 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="证书图片" prop="photo"> <el-form-item label="证书图片" prop="pictureUrl"
:rules="[{ required: true, message: '证书图片不能为空', trigger: 'blur' }]">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -182,17 +208,128 @@ ...@@ -182,17 +208,128 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 审核综合荣誉对话框 -->
<el-dialog title="详细信息" :visible.sync="look" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px" :disabled="isEdit">
<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="awardType">
<el-input v-model="form.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" />
</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="请选择分管领导"
@input="openSelect('选择分管领导', 'leaderList', 2)"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</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-row>
<el-row>
<el-col :span="12" class="custom-margin">
<el-form-item label="证书图片" prop="pictureUrl"
:rules="[{ required: true, message: '证书图片不能为空', trigger: 'blur' }]">
<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.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="display: flex;justify-content: center;">
<el-button @click="handleAgree" type="primary" size="small">同意</el-button>
<el-button @click="handleDisagree" type="danger" size="small">不同意</el-button>
</div>
</el-dialog>
<!-- 选择对应处理人 -->
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors"; import { listHonors, getHonors, delHonors, addHonors, updateHonors, audit } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Honors", name: "Honors",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
...@@ -209,45 +346,24 @@ export default { ...@@ -209,45 +346,24 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 综合荣誉表格数据 // 综合荣誉表格数据
honorsList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
look: false,
isEdit: false,
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
sub: null, sub: "",
awardType: null, awardType: "",
awardRank: null, awardRank: "",
awardLevel: null, awardLevel: "",
resultName: null, userName: "",
userId: null, startTime: "",
userName: null, endTime: "",
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -268,9 +384,6 @@ export default { ...@@ -268,9 +384,6 @@ export default {
resultName: [ resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" } { required: true, message: "成果名称不能为空", trigger: "blur" }
], ],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [ userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" } { required: true, message: "获奖人不能为空", trigger: "blur" }
], ],
...@@ -280,20 +393,15 @@ export default { ...@@ -280,20 +393,15 @@ export default {
awardTime: [ awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" } { required: true, message: "获奖时间不能为空", trigger: "blur" }
], ],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [ pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" } { required: true, message: "证书图片不能为空", trigger: "blur" }
], ],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
} }
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询综合荣誉列表 */ /** 查询综合荣誉列表 */
...@@ -305,12 +413,51 @@ export default { ...@@ -305,12 +413,51 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
handleExamine() { //审核
handleExamine(row) {
const id = row.id || this.ids;
getHonors(id).then(response => {
this.look = true;
this.isEdit = true,
this.form = response.data;
this.pictureUrl = this.pev + this.form.pictureUrl
this.title = "修改综合荣誉";
});
},
// 同意
handleAgree() {
const params = {
id: this.form.id,
auditState: '2' // 表示同意
};
audit(params).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('操作成功')
this.look = false;
this.getList()
}
})
},
// 不同意
handleDisagree() {
const params = {
id: this.form.id,
auditState: '3' // 表示不同意
};
audit(params).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('操作成功')
this.look = false
this.getList()
}
})
}, },
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -340,8 +487,8 @@ export default { ...@@ -340,8 +487,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -350,6 +497,7 @@ export default { ...@@ -350,6 +497,7 @@ export default {
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
this.look = false;
this.reset(); this.reset();
}, },
// 表单重置 // 表单重置
...@@ -405,11 +553,68 @@ export default { ...@@ -405,11 +553,68 @@ export default {
const id = row.id || this.ids const id = row.id || this.ids
getHonors(id).then(response => { getHonors(id).then(response => {
this.form = response.data; this.form = response.data;
this.pictureUrl = this.pev + this.form.pictureUrl
this.title = "修改综合荣誉"; this.title = "修改综合荣誉";
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log('form.userName', this.form.userName);
if (this.form.userName) {
console.log('有值', this.form.userName == "");
} else {
console.log('没值', this.form.userName);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
}
},
// openSelect(title, method, type) {
// console.log(1);
// console.log('form.userName', this.form.userName);
// if (!this.form.id) {
// console.log('新增操作');
// if (Object.keys(this.form).some(key => this.form[key])) {
// console.log('有值', this.form.userName);
// } else {
// console.log('没值', this.form.userName);
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
// }
// } else {
// console.log('修改操作');
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
// }
// },
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.form.auditState = '2';
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
...@@ -440,9 +645,9 @@ export default { ...@@ -440,9 +645,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/honors/export', { this.download('/system/honors/export', {
...this.queryParams ...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`) }, `综合荣誉_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
...@@ -3,28 +3,28 @@ ...@@ -3,28 +3,28 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -67,11 +67,31 @@ ...@@ -67,11 +67,31 @@
<el-table :data="worksList" @selection-change="handleSelectionChange"> <el-table :data="worksList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类型" align="center" prop="awardType" /> <span>论文论著</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_categories" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardRank">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardRank" />
</template>
</el-table-column>
<el-table-column label="成果名称" align="center" prop="resultName" /> <el-table-column label="成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -101,7 +121,7 @@ ...@@ -101,7 +121,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -145,8 +165,9 @@ ...@@ -145,8 +165,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -177,7 +198,7 @@ ...@@ -177,7 +198,7 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -190,17 +211,34 @@ ...@@ -190,17 +211,34 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 选择对应处理人 -->
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listWorks, getWorks, delWorks, addWorks, updateWorks } from "@/api/system/works"; import { listWorks, getWorks, delWorks, addWorks, updateWorks } from "@/api/smartSchool/electronicArchives/professionalDevelopment/essaysWritings";;
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Works", name: "Works",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
...@@ -216,26 +254,7 @@ export default { ...@@ -216,26 +254,7 @@ export default {
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
// 论文著作表格数据 // 论文著作表格数据
worksList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -305,7 +324,7 @@ export default { ...@@ -305,7 +324,7 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询论文著作列表 */ /** 查询论文著作列表 */
...@@ -317,6 +336,31 @@ export default { ...@@ -317,6 +336,31 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log(1);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
},
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -324,7 +368,7 @@ export default { ...@@ -324,7 +368,7 @@ export default {
}, },
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -354,8 +398,8 @@ export default { ...@@ -354,8 +398,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -449,9 +493,9 @@ export default { ...@@ -449,9 +493,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/works/export', { this.download('/system/works/export', {
...this.queryParams ...this.queryParams
}, `works_${new Date().getTime()}.xlsx`) }, `论文论著_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardType" placeholder="请选择" style="width: 220px">
<el-option v-for="dict in dict.type.award_categoriesjk" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_categoriesjk" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</el-form-item> </el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -33,9 +33,14 @@ ...@@ -33,9 +33,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -66,11 +71,31 @@ ...@@ -66,11 +71,31 @@
<el-table :data="awardsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类型" align="center" prop="awardType" /> <span>讲课获奖</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_categoriesjk" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardRank">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardRank" />
</template>
</el-table-column>
<el-table-column label="讲课获奖-成果名称" align="center" prop="resultName" /> <el-table-column label="讲课获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -100,7 +125,7 @@ ...@@ -100,7 +125,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -147,7 +172,8 @@ ...@@ -147,7 +172,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -178,7 +204,7 @@ ...@@ -178,7 +204,7 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -191,17 +217,32 @@ ...@@ -191,17 +217,32 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards"; import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/smartSchool/electronicArchives/professionalDevelopment/lectureAwards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Awards", name: "Awards",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categoriesjk', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjk', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
...@@ -218,26 +259,7 @@ export default { ...@@ -218,26 +259,7 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 讲课获奖表格数据 // 讲课获奖表格数据
awardsList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -303,7 +325,7 @@ export default { ...@@ -303,7 +325,7 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
...@@ -316,10 +338,36 @@ export default { ...@@ -316,10 +338,36 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log(1);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
},
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
// 上传前格式和图片大小限制 // 上传前格式和图片大小限制
...@@ -348,8 +396,8 @@ export default { ...@@ -348,8 +396,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -448,9 +496,9 @@ export default { ...@@ -448,9 +496,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/awards/export', { this.download('/system/awards/export', {
...this.queryParams ...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`) }, `讲课获奖_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
...@@ -2,25 +2,29 @@ ...@@ -2,25 +2,29 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </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.project_research" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -34,6 +38,7 @@ ...@@ -34,6 +38,7 @@
placeholder="请选择获奖时间"> placeholder="请选择获奖时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -43,31 +48,31 @@ ...@@ -43,31 +48,31 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button> v-hasPermi="['system:awards:add']">新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:honors:export']">导出</el-button> v-hasPermi="['system:awards:export']">导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table :data="honorsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" /> <el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类" align="center" prop="awardType" /> <el-table-column label="获奖类" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> <el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" /> <el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" /> <el-table-column label="课题研究-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180"> <el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
...@@ -90,8 +95,8 @@ ...@@ -90,8 +95,8 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改综合荣誉对话框 --> <!-- 添加或修改教师获奖对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -105,8 +110,11 @@ ...@@ -105,8 +110,11 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
@keyup.enter.native="handleQuery" /> <el-option v-for="dict in dict.type.project_research" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -186,11 +194,11 @@ ...@@ -186,11 +194,11 @@
</template> </template>
<script> <script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors"; // import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
export default { export default {
name: "Honors", name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'project_research', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 图片上传遮罩层 // 图片上传遮罩层
...@@ -208,26 +216,26 @@ export default { ...@@ -208,26 +216,26 @@ export default {
showSearch: true, showSearch: true,
// 总条数 // 总条数
total: 0, total: 0,
// 综合荣誉表格数据 // 教师获奖表格数据
honorsList: [{ awardsList: [{
id: 1, id: 1,
sub: "语文", sub: 1,
awardType: "国家级", awardType: 1,
awardRank: "国家级", awardRank: null,
awardLevel: "国家级", awardLevel: null,
resultName: "成果名称", resultName: null,
userId: "1", userId: null,
userName: "获奖人", userName: null,
org: "主办单位", org: null,
awardTime: "2020-01-01", awardTime: null,
remark: "备注", remark: null,
pictureName: "证书图片名称", pictureName: null,
pictureUrl: "证书图片地址", pictureUrl: null,
createBy: "创建人", createBy: null,
createTime: "2020-01-01", createTime: null,
updateBy: "修改人", updateBy: null,
updateTime: "2020-01-01", updateTime: null,
delFlag: "0" delFlag: null
}], }],
// 弹出层标题 // 弹出层标题
title: "", title: "",
...@@ -296,18 +304,15 @@ export default { ...@@ -296,18 +304,15 @@ export default {
// this.getList(); // this.getList();
}, },
methods: { methods: {
/** 查询综合荣誉列表 */ /** 查询教师获奖列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listHonors(this.queryParams).then(response => { listAwards(this.queryParams).then(response => {
this.honorsList = response.rows; this.awardsList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
handleExamine() {
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.photoUrl = res.data.url;
...@@ -396,16 +401,16 @@ export default { ...@@ -396,16 +401,16 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加综合荣誉"; this.title = "添加教师获奖";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
this.open = true; this.open = true;
const id = row.id || this.ids const id = row.id || this.ids
getHonors(id).then(response => { getAwards(id).then(response => {
this.form = response.data; this.form = response.data;
this.title = "修改综合荣誉"; this.title = "修改教师获奖";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
...@@ -413,13 +418,13 @@ export default { ...@@ -413,13 +418,13 @@ export default {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateHonors(this.form).then(response => { updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addHonors(this.form).then(response => { addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
...@@ -431,8 +436,8 @@ export default { ...@@ -431,8 +436,8 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除综合荣誉编号为"' + ids + '"的数据项?').then(function () { this.$modal.confirm('是否确认删除教师获奖编号为"' + ids + '"的数据项?').then(function () {
return delHonors(ids); return delAwards(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
...@@ -440,9 +445,9 @@ export default { ...@@ -440,9 +445,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/honors/export', { this.download('system/awards/export', {
...this.queryParams ...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`) }, `awards_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -33,9 +33,14 @@ ...@@ -33,9 +33,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -67,11 +72,31 @@ ...@@ -67,11 +72,31 @@
<el-table :data="awardsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类别" align="center" prop="awardType" /> <span>教学获奖</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_categoriesjs" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardRank">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardRank" />
</template>
</el-table-column>
<el-table-column label="教学获奖-成果名称" align="center" prop="resultName" /> <el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -83,11 +108,13 @@ ...@@ -83,11 +108,13 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:honors:edit']"
v-if="scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:honors:remove']"
v-if="scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)" <el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors:remove']">审核</el-button> v-hasPermi="['system:honors:remove']" v-if="scope.row.auditState === '1'">审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -101,7 +128,7 @@ ...@@ -101,7 +128,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -146,7 +173,9 @@ ...@@ -146,7 +173,9 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@input="openSelect('选择分管领导', 'leaderList', 2)"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -173,11 +202,12 @@ ...@@ -173,11 +202,12 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="证书图片" prop="photo"> <el-form-item label="证书图片" prop="pictureUrl"
:rules="[{ required: true, message: '证书图片不能为空', trigger: 'blur' }]">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -189,18 +219,127 @@ ...@@ -189,18 +219,127 @@
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog><!-- 审核综合荣誉对话框 -->
<el-dialog title="详细信息" :visible.sync="look" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px" :disabled="isEdit">
<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="awardType">
<el-input v-model="form.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" />
</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="请选择分管领导"
@input="openSelect('选择分管领导', 'leaderList', 2)"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</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-row>
<el-row>
<el-col :span="12" class="custom-margin">
<el-form-item label="证书图片" prop="pictureUrl"
:rules="[{ required: true, message: '证书图片不能为空', trigger: 'blur' }]">
<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.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="display: flex;justify-content: center;">
<el-button @click="handleAgree" type="primary" size="small">同意</el-button>
<el-button @click="handleDisagree" type="danger" size="small">不同意</el-button>
</div>
</el-dialog> </el-dialog>
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards"; import { listAwards, getAwards, delAwards, addAwards, updateAwards, audit } from "@/api/smartSchool/electronicArchives/professionalDevelopment/teacherAwards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Awards", name: "Awards",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
...@@ -217,26 +356,7 @@ export default { ...@@ -217,26 +356,7 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 教师获奖表格数据 // 教师获奖表格数据
awardsList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -294,14 +414,12 @@ export default { ...@@ -294,14 +414,12 @@ export default {
pictureUrl: [ pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" } { required: true, message: "证书图片地址不能为空", trigger: "blur" }
], ],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
} }
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询教师获奖列表 */ /** 查询教师获奖列表 */
...@@ -313,9 +431,81 @@ export default { ...@@ -313,9 +431,81 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log('form.userName', this.form.userName);
if (this.form.userName) {
console.log('有值', this.form.userName == "");
} else {
console.log('没值', this.form.userName);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
}
},
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
//审核
handleExamine(row) {
const id = row.id || this.ids;
getHonors(id).then(response => {
this.look = true;
this.isEdit = true,
this.form = response.data;
this.pictureUrl = this.pev + this.form.pictureUrl
this.title = "修改综合荣誉";
});
},
// 同意
handleAgree() {
const params = {
id: this.form.id,
auditState: '2' // 表示同意
};
audit(params).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('操作成功')
this.look = false;
this.getList()
}
})
},
// 不同意
handleDisagree() {
const params = {
id: this.form.id,
auditState: '3' // 表示不同意
};
audit(params).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('操作成功')
this.look = false
this.getList()
}
})
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -345,8 +535,8 @@ export default { ...@@ -345,8 +535,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -416,6 +606,7 @@ export default { ...@@ -416,6 +606,7 @@ export default {
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
this.form.auditState = '2';
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateAwards(this.form).then(response => { updateAwards(this.form).then(response => {
...@@ -445,9 +636,9 @@ export default { ...@@ -445,9 +636,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/awards/export', { this.download('/school/teacherAwards/export', {
...this.queryParams ...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`) }, `教师获奖_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="69px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="姓名" prop="userName"> <el-form-item label="姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入" clearable @keyup.enter.native="handleQuery" <el-input v-model="queryParams.userName" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
style="width: 200px;" />
</el-form-item> </el-form-item>
<el-form-item label="学年" prop="year"> <el-form-item label="学年" prop="schoolYear">
<el-input v-model="queryParams.year" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-select v-model="queryParams.schoolYear" placeholder="请选择" style="width: 190px;">
<el-option v-for="dict in dict.type.yearda" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="学期" prop="semster"> <el-form-item label="学期" prop="semester">
<el-select v-model="queryParams.semster" placeholder="请选择"> <el-select v-model="queryParams.semster" placeholder="请选择">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="届别" prop="rank"> <el-form-item label="届别" prop="year">
<el-input v-model="queryParams.rank" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-select v-model="queryParams.year" placeholder="请选择">
<el-option v-for="dict in dict.type.rankda" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="年级" prop="grade"> <el-form-item label="年级" prop="grade">
<el-select v-model="queryParams.grade" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.grade" placeholder="请选择" style="width: 100%;">
...@@ -25,26 +30,31 @@ ...@@ -25,26 +30,31 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="考试时间" prop="examTime"> <el-form-item label="考试开始时间" prop="startTime">
<el-date-picker clearable v-model="queryParams.examTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 200px;"> placeholder="请选择" style="width: 190px;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="考试类型" prop="type"> <el-form-item label="考试结束时间" prop="endTime">
<el-select v-model="queryParams.type" placeholder="请选择" style="width: 100%;"> <el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" style="width: 190px;">
</el-date-picker>
</el-form-item>
<el-form-item label="考试类型" prop="examType">
<el-select v-model="queryParams.examType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.exam_typeda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.exam_typeda" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="班级" prop="class"> <el-form-item label="班级" prop="className">
<el-input v-model="queryParams.class" placeholder="请输入班级" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.className" placeholder="请输入班级" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="班级类型" prop="classType"> <el-form-item label="班级类型" prop="classType">
<el-select v-model="queryParams.classType" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.classType" placeholder="请选择" style="width: 100%;">
...@@ -91,19 +101,45 @@ ...@@ -91,19 +101,45 @@
<el-table :data="achievementsList" @selection-change="handleSelectionChange"> <el-table :data="achievementsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="学年" align="center" prop="schoolYear" /> <el-table-column label="学年" align="center" prop="schoolYear" />
<el-table-column label="学期" align="center" prop="semester" /> <el-table-column label="学期" align="center" prop="semester">
<template slot-scope="scope">
<dict-tag :options="dict.type.semester_jsdzda" :value="scope.row.semester" />
</template>
</el-table-column>
<el-table-column label="考试时间" align="center" prop="examTime" width="180"> <el-table-column label="考试时间" align="center" prop="examTime" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.examTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.examTime, '{y}-{m}-{d}') }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="考试类型" align="center" prop="examType" /> <el-table-column label="考试类型" align="center" prop="examType">
<template slot-scope="scope">
<dict-tag :options="dict.type.exam_typeda" :value="scope.row.examType" />
</template>
</el-table-column>
<el-table-column label="届别" align="center" prop="year" /> <el-table-column label="届别" align="center" prop="year" />
<el-table-column label="年级" align="center" prop="grade" /> <el-table-column label="年级" align="center" prop="grade">
<template slot-scope="scope">
<dict-tag :options="dict.type.grade_da" :value="scope.row.grade" />
</template>
</el-table-column>
<el-table-column label="姓名" align="center" prop="userName" /> <el-table-column label="姓名" align="center" prop="userName" />
<el-table-column label="学科" align="center" prop="sub" /> <el-table-column label="学科" align="center" prop="sub">
<el-table-column label="班级" align="center" prop="class" /> <template slot-scope="scope">
<el-table-column label="班级类型" align="center" prop="classType" /> <dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="班级" align="center" prop="className">
</el-table-column>
<el-table-column label="班级类型" align="center">
<template slot-scope="scope">
<span v-if="getSelectedTypes(scope.row.classType).length > 0">
<span v-for="(option, index) in getSelectedTypes(scope.row.classType)" :key="index">
{{ option.label }}
<span v-if="index !== getSelectedTypes(scope.row.classType).length - 1">, </span>
</span>
</span>
</template>
</el-table-column>
<el-table-column label="考核分" align="center" prop="assessmentScore" /> <el-table-column label="考核分" align="center" prop="assessmentScore" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -117,19 +153,44 @@ ...@@ -117,19 +153,44 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" /> @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="title" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学年" prop="year"> <el-form-item label="学年" prop="schoolYear">
<el-input v-model="form.year" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-select v-model="form.schoolYear" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学期" prop="semster"> <el-form-item label="学期" prop="semester">
<el-select v-model="form.semster" placeholder="请选择" style="width: 100%;"> <el-select v-model="form.semester" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> :value="dict.value"></el-option>
</el-select> </el-select>
...@@ -145,10 +206,11 @@ ...@@ -145,10 +206,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="考试类型" prop="type"> <el-form-item label="考试类型" prop="examType">
<el-select v-model="form.type" placeholder="请选择" style="width: 100%;"> <el-select v-model="form.examType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.exam_typeda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.exam_typeda" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> :value="dict.value">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -156,14 +218,19 @@ ...@@ -156,14 +218,19 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="届别" prop="year"> <el-form-item label="届别" prop="year">
<el-input v-model="form.year" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-select v-model="form.year" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年级" prop="grade"> <el-form-item label="年级" prop="grade">
<el-select v-model="form.grade" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.grade_da" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> :value="dict.value">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -191,15 +258,15 @@ ...@@ -191,15 +258,15 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="班级" prop="class"> <el-form-item label="班级" prop="className">
<el-input v-model="form.class" placeholder="请输入班级" /> <el-input v-model="form.className" placeholder="请输入班级" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="班级类型" prop="classType"> <el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" placeholder="请选择" style="width: 100%;"> <el-select v-model="form.classType" multiple placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.class_type" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.class_type" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -208,7 +275,7 @@ ...@@ -208,7 +275,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="考核分" prop="assessmentScore"> <el-form-item label="考核分" prop="assessmentScore">
<el-input v-model="form.assessmentScore" placeholder="请输入考核分" /> <el-input v-model="form.assessmentScore" placeholder="请输入考核分" type="number" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -225,13 +292,34 @@ ...@@ -225,13 +292,34 @@
</template> </template>
<script> <script>
// import { listAchievements, getAchievements, delAchievements, addAchievements, updateAchievements } from "@/api/system/achievements"; import { listAchievements, getAchievements, delAchievements, addAchievements, updateAchievements } from "@/api/smartSchool/electronicArchives/professionalDevelopment/teachingAchievements";
import { checkIdcard } from "@/utils/utilLibrary/validate"; import { checkIdcard } from "@/utils/utilLibrary/validate";
import { getToken } from '@/utils/auth'
export default { export default {
name: "Achievements", name: "Achievements",
dicts: ["teaching_subjects", 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type'], dicts: ["teaching_subjects", 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type', 'yearda', 'rankda'],
data() { data() {
return { return {
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/system/achievements/importData",
},
uploadForm: {
},
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
...@@ -246,9 +334,7 @@ export default { ...@@ -246,9 +334,7 @@ export default {
total: 0, total: 0,
// 教学成绩表格数据 // 教学成绩表格数据
achievementsList: [ achievementsList: [
{
year: 2015
}
], ],
// 弹出层标题 // 弹出层标题
title: "", title: "",
...@@ -258,19 +344,18 @@ export default { ...@@ -258,19 +344,18 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
schoolYear: null, userName: "",
semester: null, schoolYear: "",
examTime: null, semester: "",
examType: null, year: "",
year: null, grade: "",
grade: null, sub: "",
userId: null, startTime: "",
userName: null, endTime: "",
idCard: null, examType: "",
sub: null, className: "",
class: null, classType: "",
classType: null, assessmentScore: "",
assessmentScore: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -304,7 +389,7 @@ export default { ...@@ -304,7 +389,7 @@ export default {
sub: [ sub: [
{ required: true, message: "学科不能为空", trigger: "change" } { required: true, message: "学科不能为空", trigger: "change" }
], ],
class: [ className: [
{ required: true, message: "班级不能为空", trigger: "blur" } { required: true, message: "班级不能为空", trigger: "blur" }
], ],
classType: [ classType: [
...@@ -320,7 +405,7 @@ export default { ...@@ -320,7 +405,7 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询教学成绩列表 */ /** 查询教学成绩列表 */
...@@ -351,26 +436,75 @@ export default { ...@@ -351,26 +436,75 @@ export default {
userName: null, userName: null,
idCard: null, idCard: null,
sub: null, sub: null,
class: null, className: null,
classType: null, classType: null,
assessmentScore: null, assessmentScore: null,
remark: null, remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
}; };
this.resetForm("form"); this.resetForm("form");
}, },
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit()
},
//下载模版
importTemplate() {
this.download(
"/system/achievements/importTemplate",
{},
`教学成绩_${Date.now()}.xlsx`
);
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
getSelectedTypes(classType) {
return this.dict.type.class_type.filter(option => classType.split(',').includes(option.value.toString()));
},
/** 导入按钮操作 */
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()
},
cancelFile() {
this.uploadOpen = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
},
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.queryParams = {
pageNum: 1,
pageSize: 10,
userName: "",
schoolYear: "",
semester: "",
year: "",
grade: "",
sub: "",
startTime: "",
endTime: "",
examType: "",
className: "",
classType: "",
assessmentScore: "",
},
this.resetForm("queryParams");
this.handleQuery(); this.handleQuery();
}, },
// 多选框选中数据 // 多选框选中数据
...@@ -392,21 +526,24 @@ export default { ...@@ -392,21 +526,24 @@ export default {
const id = row.id || this.ids const id = row.id || this.ids
getAchievements(id).then(response => { getAchievements(id).then(response => {
this.form = response.data; this.form = response.data;
this.form.classType = this.form.classType.split(',');
this.title = "修改教学成绩"; this.title = "修改教学成绩";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
const classTypeStr = this.form.classType.join(',');
console.log(classTypeStr); // 输出转换后的字符串
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateAchievements(this.form).then(response => { updateAchievements({ ...this.form, classType: classTypeStr }).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addAchievements(this.form).then(response => { addAchievements({ ...this.form, classType: classTypeStr }).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
...@@ -427,9 +564,9 @@ export default { ...@@ -427,9 +564,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/achievements/export', { this.download('/system/achievements/export', {
...this.queryParams ...this.queryParams
}, `achievements_${new Date().getTime()}.xlsx`) }, `教学成绩${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
...@@ -2,25 +2,29 @@ ...@@ -2,25 +2,29 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </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_categoriesjs" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -34,6 +38,7 @@ ...@@ -34,6 +38,7 @@
placeholder="请选择获奖时间"> placeholder="请选择获奖时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -43,31 +48,31 @@ ...@@ -43,31 +48,31 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button> v-hasPermi="['system:awards:add']">新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:honors:export']">导出</el-button> v-hasPermi="['system:awards:export']">导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table :data="honorsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center" prop="id" />
<el-table-column label="学科" align="center" prop="sub" /> <el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类" align="center" prop="awardType" /> <el-table-column label="获奖类" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> <el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" /> <el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" /> <el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180"> <el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
...@@ -90,8 +95,8 @@ ...@@ -90,8 +95,8 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改综合荣誉对话框 --> <!-- 添加或修改教师获奖对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -105,8 +110,11 @@ ...@@ -105,8 +110,11 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
@keyup.enter.native="handleQuery" /> <el-option v-for="dict in dict.type.award_categoriesjs" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -186,11 +194,11 @@ ...@@ -186,11 +194,11 @@
</template> </template>
<script> <script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors"; import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/smartSchool/electronicArchives/professionalDevelopment/teacherAwards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
export default { export default {
name: "Honors", name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 图片上传遮罩层 // 图片上传遮罩层
...@@ -208,27 +216,8 @@ export default { ...@@ -208,27 +216,8 @@ export default {
showSearch: true, showSearch: true,
// 总条数 // 总条数
total: 0, total: 0,
// 综合荣誉表格数据 // 教师获奖表格数据
honorsList: [{ awardsList: [],
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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -293,21 +282,18 @@ export default { ...@@ -293,21 +282,18 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询综合荣誉列表 */ /** 查询教师获奖列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listHonors(this.queryParams).then(response => { listAwards(this.queryParams).then(response => {
this.honorsList = response.rows; this.awardsList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
handleExamine() {
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.photoUrl = res.data.url;
...@@ -396,16 +382,16 @@ export default { ...@@ -396,16 +382,16 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加综合荣誉"; this.title = "添加教师获奖";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
this.open = true; this.open = true;
const id = row.id || this.ids const id = row.id || this.ids
getHonors(id).then(response => { getAwards(id).then(response => {
this.form = response.data; this.form = response.data;
this.title = "修改综合荣誉"; this.title = "修改教师获奖";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
...@@ -413,13 +399,13 @@ export default { ...@@ -413,13 +399,13 @@ export default {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateHonors(this.form).then(response => { updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addHonors(this.form).then(response => { addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
...@@ -431,8 +417,8 @@ export default { ...@@ -431,8 +417,8 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除综合荣誉编号为"' + ids + '"的数据项?').then(function () { this.$modal.confirm('是否确认删除教师获奖编号为"' + ids + '"的数据项?').then(function () {
return delHonors(ids); return delAwards(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
...@@ -440,9 +426,9 @@ export default { ...@@ -440,9 +426,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/honors/export', { this.download('system/awards/export', {
...this.queryParams ...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`) }, `awards_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
...@@ -2,16 +2,12 @@ ...@@ -2,16 +2,12 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
...@@ -19,6 +15,13 @@ ...@@ -19,6 +15,13 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType">
<el-select v-model="queryParams.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categoriesjs" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
...@@ -29,9 +32,14 @@ ...@@ -29,9 +32,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -39,35 +47,38 @@ ...@@ -39,35 +47,38 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button> v-hasPermi="['system:awards:add']">新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:awards:edit']">修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:awards:remove']">删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:honors:export']">导出</el-button> v-hasPermi="['system:awards:export']">导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table :data="honorsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<template>
<span>讲课获奖</span>
</template>
</el-table-column>
<el-table-column label="学科" align="center" prop="sub" /> <el-table-column label="学科" align="center" prop="sub" />
<el-table-column label="获奖类" align="center" prop="awardType" /> <el-table-column label="获奖类" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> <el-table-column label="获奖等级" align="center" prop="awardLevel" />
<el-table-column label="获奖级别" align="center" prop="awardRank" /> <el-table-column label="获奖级别" align="center" prop="awardRank" />
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" /> <el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
<el-table-column label="获奖时间" align="center" prop="awardTime" width="180"> <el-table-column label="获奖时间" align="center" prop="awardTime" width="180">
...@@ -90,13 +101,13 @@ ...@@ -90,13 +101,13 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改综合荣誉对话框 --> <!-- 添加或修改教师获奖对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -105,8 +116,11 @@ ...@@ -105,8 +116,11 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;">
@keyup.enter.native="handleQuery" /> <el-option v-for="dict in dict.type.award_categoriesjs" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -169,7 +183,7 @@ ...@@ -169,7 +183,7 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -186,11 +200,11 @@ ...@@ -186,11 +200,11 @@
</template> </template>
<script> <script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors"; // import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
export default { export default {
name: "Honors", name: "Awards",
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 图片上传遮罩层 // 图片上传遮罩层
...@@ -208,26 +222,26 @@ export default { ...@@ -208,26 +222,26 @@ export default {
showSearch: true, showSearch: true,
// 总条数 // 总条数
total: 0, total: 0,
// 综合荣誉表格数据 // 教师获奖表格数据
honorsList: [{ awardsList: [{
id: 1, id: 1,
sub: "语文", sub: 1,
awardType: "国家级", awardType: 1,
awardRank: "国家级", awardRank: null,
awardLevel: "国家级", awardLevel: null,
resultName: "成果名称", resultName: null,
userId: "1", userId: null,
userName: "获奖人", userName: null,
org: "主办单位", org: null,
awardTime: "2020-01-01", awardTime: null,
remark: "备注", remark: null,
pictureName: "证书图片名称", pictureName: null,
pictureUrl: "证书图片地址", pictureUrl: null,
createBy: "创建人", createBy: null,
createTime: "2020-01-01", createTime: null,
updateBy: "修改人", updateBy: null,
updateTime: "2020-01-01", updateTime: null,
delFlag: "0" delFlag: null
}], }],
// 弹出层标题 // 弹出层标题
title: "", title: "",
...@@ -296,21 +310,18 @@ export default { ...@@ -296,21 +310,18 @@ export default {
// this.getList(); // this.getList();
}, },
methods: { methods: {
/** 查询综合荣誉列表 */ /** 查询教师获奖列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listHonors(this.queryParams).then(response => { listAwards(this.queryParams).then(response => {
this.honorsList = response.rows; this.awardsList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
handleExamine() {
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -340,8 +351,8 @@ export default { ...@@ -340,8 +351,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -396,16 +407,16 @@ export default { ...@@ -396,16 +407,16 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加综合荣誉"; this.title = "添加教师获奖";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
this.open = true; this.open = true;
const id = row.id || this.ids const id = row.id || this.ids
getHonors(id).then(response => { getAwards(id).then(response => {
this.form = response.data; this.form = response.data;
this.title = "修改综合荣誉"; this.title = "修改教师获奖";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
...@@ -413,13 +424,13 @@ export default { ...@@ -413,13 +424,13 @@ export default {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateHonors(this.form).then(response => { updateAwards(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
}); });
} else { } else {
addHonors(this.form).then(response => { addAwards(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();
...@@ -431,8 +442,8 @@ export default { ...@@ -431,8 +442,8 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除综合荣誉编号为"' + ids + '"的数据项?').then(function () { this.$modal.confirm('是否确认删除教师获奖编号为"' + ids + '"的数据项?').then(function () {
return delHonors(ids); return delAwards(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
...@@ -440,9 +451,9 @@ export default { ...@@ -440,9 +451,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/honors/export', { this.download('system/awards/export', {
...this.queryParams ...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`) }, `awards_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="姓名" prop="teacherName">
<el-input v-model="queryParams.teacherName" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="queryParams.schoolYear" placeholder="请选择" style="width: 190px;">
<el-option v-for="dict in dict.type.yearda" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="届别" prop="year">
<el-select v-model="queryParams.year" placeholder="请选择">
<el-option v-for="dict in dict.type.rankda" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="学期" prop="semester">
<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="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="queryParams.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-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="className">
<el-input v-model="queryParams.className" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="德育考核成绩" prop="moralEduCheckAchievement">
<el-input v-model="queryParams.moralEduCheckAchievement" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="智育考核成绩" prop="intellEduCheckAchievement">
<el-input v-model="queryParams.intellEduCheckAchievement" 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="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:assessment:export']">导出</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 label="学年" align="center" prop="schoolYear" />
<el-table-column label="学期" align="center" prop="semester">
<template slot-scope="scope">
<dict-tag :options="dict.type.semester_jsdzda" :value="scope.row.semester" />
</template>
</el-table-column>
<el-table-column label="届别" align="center" prop="year" />
<el-table-column label="年级" align="center" prop="grade">
<template slot-scope="scope">
<dict-tag :options="dict.type.grade_da" :value="scope.row.grade" />
</template>
</el-table-column>
<el-table-column label="班级" align="center" prop="className" />
<el-table-column label="班级类型" align="center" prop="classType">
<template slot-scope="scope">
<span v-if="getSelectedTypes(scope.row.classType).length > 0">
<span v-for="(option, index) in getSelectedTypes(scope.row.classType)" :key="index">
{{ option.label }}
<span v-if="index !== getSelectedTypes(scope.row.classType).length - 1">, </span>
</span>
</span>
</template>
</el-table-column>
<el-table-column label="姓名" align="center" prop="teacherName" />
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="德育考核成绩" align="center" prop="moralEduCheckAchievement" />
<el-table-column label="智育考核成绩" align="center" prop="intellEduCheckAchievement" />
<el-table-column label="总考核成绩" align="center" prop="totalCheckAchievement" />
<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="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" 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-col :span="12">
<el-form-item label="届别" prop="year">
<el-select v-model="form.year" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :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="schoolYear">
<el-select v-model="form.schoolYear" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :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="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="className">
<el-input v-model="form.className" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="教师姓名" prop="teacherName">
<el-input v-model="form.teacherName" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="德育考核成绩" prop="moralEduCheckAchievement">
<el-input v-model="form.moralEduCheckAchievement" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="智育考核成绩" prop="intellEduCheckAchievement">
<el-input v-model="form.intellEduCheckAchievement" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="总考核成绩" prop="totalCheckAchievement">
<el-input v-model="form.totalCheckAchievement" 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" multiple 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="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-row>
<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>
<!-- 导入对话框 -->
<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>
</div>
</template>
<script>
import { listAssessment, getAssessment, delAssessment, addAssessment, updateAssessment } from "@/api/smartSchool/electronicArchives/teacherAssessment";
import { getToken } from "@/utils/auth";
export default {
name: "Assessment",
dicts: ["teaching_subjects", 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type', 'yearda', 'rankda', 'appointment_situation', 'appointment_positions'],
data() {
return {
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/assessment/importData",
},
uploadForm: {},
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 班主任考核表格数据
assessmentList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
semester: null,
year: null,
schoolYear: null,
grade: null,
className: null,
teacherName: null,
idCard: null,
moralEduCheckAchievement: null,
intellEduCheckAchievement: null,
totalCheckAchievement: null,
classType: null,
sub: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
year: [
{ required: true, message: "届别不能为空", trigger: "change" }
],
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "change" }
],
grade: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
className: [
{ required: true, message: "班级不能为空", trigger: "blur" }
],
teacherName: [
{ required: true, message: "姓名不能为空", trigger: "blur" }
],
idCard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
moralEduCheckAchievement: [
{ required: true, message: "德育考核成绩不能为空", trigger: "blur" }
],
intellEduCheckAchievement: [
{ required: true, message: "智育考核成绩不能为空", trigger: "blur" }
],
totalCheckAchievement: [
{ required: true, message: "总成绩考核不能为空", trigger: "blur" }
],
classType: [
{ required: true, message: "班级类型不能为空", trigger: "blur" }
],
sub: [
{ required: true, message: "学科不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询班主任考核列表 */
getList() {
this.loading = true;
listAssessment(this.queryParams).then(response => {
this.assessmentList = response.rows;
this.total = response.total;
this.loading = false;
});
},
getSelectedTypes(classType) {
return this.dict.type.class_type.filter(option => classType.split(',').includes(option.value.toString()));
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
handleImport() {
this.reset();
this.title = "导入";
this.uploadOpen = true;
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 提交上传文件
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(
"/assessment/download",
{},
`班主任考核_${Date.now()}.xlsx`
);
},
// 表单重置
reset() {
this.form = {
id: null,
semester: null,
year: null,
schoolYear: null,
grade: null,
className: null,
teacherName: null,
idCard: null,
moralEduCheckAchievement: null,
intellEduCheckAchievement: null,
totalCheckAchievement: null,
classType: null,
sub: 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();
const id = row.id || this.ids
getAssessment(id).then(response => {
this.form = response.data;
this.form.classType = this.form.classType.split(',');
this.open = true;
this.title = "修改班主任考核";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
const classTypeStr = this.form.classType.join(',');
console.log(classTypeStr); // 输出转换后的字符串
if (valid) {
if (this.form.id != null) {
updateAssessment({ ...this.form, classType: classTypeStr }).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAssessment({ ...this.form, classType: classTypeStr }).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() {
this.download('/assessment/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="89px">
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="queryParams.schoolYear" placeholder="请选择" style="width: 190px;">
<el-option v-for="dict in dict.type.yearda" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="学期" prop="semester">
<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="year">
<el-select v-model="queryParams.year" placeholder="请选择">
<el-option v-for="dict in dict.type.rankda" :key="dict.value" :label="dict.label" :value="dict.value">
</el-option>
</el-select>
</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="queryParams.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-form-item label="聘任岗位" prop="appointmentPost">
<el-select v-model="queryParams.appointmentPost" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_positions" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="聘任职务" prop="appointmentPosition">
<el-input v-model="queryParams.appointmentPosition" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="班级" prop="className">
<el-input v-model="queryParams.className" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="班级类型" prop="classType">
<el-select v-model="queryParams.classType" multiple 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="userName">
<el-input v-model="queryParams.userName" placeholder="请输入" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="聘任情况" prop="appointmentSituation">
<el-select v-model="queryParams.appointmentSituation" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_situation" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:aworkload: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:aworkload: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:aworkload:remove']">删除</el-button>
</el-col>
<el-button type="success" plain icon="el-icon-upload" size="mini" @click="handleImport"
v-hasPermi="['system:student:export']">导入
</el-button>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:aworkload:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="aworkloadList" @selection-change="handleSelectionChange"
:default-sort="{ prop: 'schoolYear', order: 'descending' }">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="学年" align="center" prop="schoolYear" width="90px" fixed="left" sortable />
<el-table-column label="学期" align="center" prop="semester" fixed="left" sortable>
<template slot-scope="scope">
<dict-tag :options="dict.type.semester_jsdzda" :value="scope.row.semester" />
</template>
</el-table-column>
<el-table-column label="届别" align="center" prop="year" fixed="left" sortable />
<el-table-column label="年级" align="center" prop="grade" fixed="left" sortable>
<template slot-scope="scope">
<dict-tag :options="dict.type.grade_da" :value="scope.row.grade" />
</template>
</el-table-column>
<el-table-column label="姓名" align="center" prop="name" sortable />
<el-table-column label="学科" align="center" prop="sub" sortable>
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="聘任岗位" align="center" prop="appointmentPost" sortable width="120px">
<template slot-scope="scope">
<dict-tag :options="dict.type.appointment_positions" :value="scope.row.appointmentPost" />
</template>
</el-table-column>
<el-table-column label="聘任职务" align="center" prop="appointmentPosition" sortable width="120px" />
<el-table-column label="聘任情况" align="center" prop="appointmentSituation" sortable width="120px" />
<el-table-column label="班级" align="center" prop="className" sortable />
<el-table-column label="班级类型" align="center" prop="classType" width="120px" sortable>
<template slot-scope="scope">
<span v-if="getSelectedTypes(scope.row.classType).length > 0">
<span v-for="(option, index) in getSelectedTypes(scope.row.classType)" :key="index">
{{ option.label }}
<span v-if="index !== getSelectedTypes(scope.row.classType).length - 1">, </span>
</span>
</span>
</template>
</el-table-column>
<el-table-column label="早读" align="center" prop="earlyReading" sortable />
<el-table-column label="正课" align="center" prop="requiredCourses" sortable />
<el-table-column label="晚自习" align="center" prop="eveningSelfStudy" sortable width="120px" />
<el-table-column label="合计" align="center" prop="amountTo" sortable />
<el-table-column label="证明人" align="center" prop="userName" width="120px" fixed="right" sortable />
<el-table-column label="备注" align="center" prop="remark" fixed="right" sortable />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120px" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" @click="handleUpdate(scope.row)"
v-hasPermi="['system:aworkload:edit']">修改</el-button>
<el-button size="mini" type="text" @click="handleLook(scope.row)"
v-hasPermi="['system:aworkload:edit']">详情</el-button>
<el-button size="mini" type="text" @click="handleDelete(scope.row)"
v-hasPermi="['system:aworkload: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="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-row>
<el-col :span="12">
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="form.schoolYear" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :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="semester">
<el-select v-model="form.semester" 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="year">
<el-select v-model="form.year" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :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="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="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
<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-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘任岗位" prop="appointmentPost">
<el-select v-model="form.appointmentPost" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_positions" :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="appointmentPosition">
<el-input v-model="form.appointmentPosition" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘任情况" prop="appointmentSituation">
<el-select v-model="form.appointmentSituation" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_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="className">
<el-input v-model="form.className" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" multiple 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-row>
<el-row>
<el-col :span="12">
<el-form-item label="早读" prop="earlyReading">
<el-input v-model="form.earlyReading" placeholder="请输入早读" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="正课" prop="requiredCourses">
<el-input v-model="form.requiredCourses" placeholder="请输入正课" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="晚自习" prop="eveningSelfStudy">
<el-input v-model="form.eveningSelfStudy" 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="remark">
<el-input v-model="form.remark" type="textarea" 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="title" :visible.sync="edit" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-row>
<el-col :span="12">
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="form.schoolYear" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :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="semester">
<el-select v-model="form.semester" 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="year">
<el-select v-model="form.year" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :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="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="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
<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-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘任岗位" prop="appointmentPost">
<el-select v-model="form.appointmentPost" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_positions" :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="appointmentPosition">
<el-input v-model="form.appointmentPosition" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘任情况" prop="appointmentSituation">
<el-select v-model="form.appointmentSituation" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_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="className">
<el-input v-model="form.className" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" multiple 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-row>
<el-row>
<el-col :span="12">
<el-form-item label="早读" prop="earlyReading">
<el-input v-model="form.earlyReading" placeholder="请输入早读" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="正课" prop="requiredCourses">
<el-input v-model="form.requiredCourses" placeholder="请输入正课" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="晚自习" prop="eveningSelfStudy">
<el-input v-model="form.eveningSelfStudy" placeholder="请输入晚自习" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合计" prop="amountTo">
<el-input v-model="form.amountTo" placeholder="请输入合计" />
</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="remark">
<el-input v-model="form.remark" type="textarea" 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="title" :visible.sync="look" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="90px" :disabled="isEdit">
<el-row>
<el-col :span="12">
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="form.schoolYear" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :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="semester">
<el-select v-model="form.semester" 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="year">
<el-select v-model="form.year" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :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="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="name">
<el-input v-model="form.name" placeholder="请输入" />
</el-form-item>
</el-col>
<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-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘任岗位" prop="appointmentPost">
<el-select v-model="form.appointmentPost" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_positions" :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="appointmentPosition">
<el-input v-model="form.appointmentPosition" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="聘任情况" prop="appointmentSituation">
<el-select v-model="form.appointmentSituation" placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.appointment_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="className">
<el-input v-model="form.className" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" multiple 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-row>
<el-row>
<el-col :span="12">
<el-form-item label="早读" prop="earlyReading">
<el-input v-model="form.earlyReading" placeholder="请输入早读" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="正课" prop="requiredCourses">
<el-input v-model="form.requiredCourses" placeholder="请输入正课" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="晚自习" prop="eveningSelfStudy">
<el-input v-model="form.eveningSelfStudy" placeholder="请输入晚自习" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合计" prop="amountTo">
<el-input v-model="form.amountTo" placeholder="请输入合计" />
</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="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 导入对话框 -->
<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>
</div>
</template>
<script>
import { listAworkload, getAworkload, delAworkload, addAworkload, updateAworkload } from "@/api/smartSchool/electronicArchives/workloadInformation";;
import { getToken } from "@/utils/auth";
export default {
name: "Aworkload",
dicts: ["teaching_subjects", 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type', 'yearda', 'rankda', 'appointment_situation', 'appointment_positions'],
data() {
return {
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/aworkload/importData",
},
uploadForm: {},
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 工作量信息表格数据
aworkloadList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
look: false,
edit: false,
isEdit: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
schoolYear: null,
semester: null,
year: null,
grade: null,
name: null,
sub: null,
idCard: null,
appointmentPost: null,
appointmentPosition: null,
appointmentSituation: null,
className: null,
classType: null,
earlyReading: null,
requiredCourses: null,
eveningSelfStudy: null,
userId: null,
userName: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "change" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
year: [
{ required: true, message: "届别不能为空", trigger: "change" }
],
grade: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
name: [
{ required: true, message: "姓名不能为空", trigger: "blur" }
],
sub: [
{ required: true, message: "学科不能为空", trigger: "blur" }
],
idCard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
appointmentPost: [
{ required: true, message: "聘任岗位不能为空", trigger: "blur" }
],
earlyReading: [
{ required: true, message: "早读不能为空", trigger: "blur" }
],
requiredCourses: [
{ required: true, message: "正读不能为空", trigger: "blur" }
],
eveningSelfStudy: [
{ required: true, message: "晚自习不能为空", trigger: "blur" }
],
userName: [
{ required: true, message: "证明人不能为空", trigger: "blur" }
]
}
};
},
created() {
this.getList();
},
methods: {
/** 查询工作量信息列表 */
getList() {
listAworkload(this.queryParams).then(response => {
this.aworkloadList = response.rows;
this.total = response.total;
this.loading = false;
});
},
getSelectedTypes(classType) {
return this.dict.type.class_type.filter(option => classType.split(',').includes(option.value.toString()));
},
handleImport() {
this.reset();
this.title = "导入";
this.uploadOpen = true;
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 提交上传文件
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(
"/aworkload/download",
{},
`教师基础信息_${Date.now()}.xlsx`
);
},
// 取消按钮
cancel() {
this.open = false;
this.look = false;
this.edit = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
schoolYear: null,
semester: null,
year: null,
grade: null,
name: null,
sub: null,
idCard: null,
appointmentPost: null,
appointmentPosition: null,
appointmentSituation: null,
className: null,
classType: null,
earlyReading: null,
requiredCourses: null,
eveningSelfStudy: null,
userId: null,
userName: 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();
const id = row.id || this.ids
getAworkload(id).then(response => {
this.form = response.data;
this.form.classType = this.form.classType.split(',');
this.edit = true;
this.title = "修改工作量信息";
});
},
/** 查看按钮操作 */
handleLook(row) {
this.reset();
const id = row.id || this.ids
this.isEdit = true;
getAworkload(id).then(response => {
this.form = response.data;
this.form.classType = this.form.classType.split(',');
this.look = true;
this.title = "查看工作量信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
const classTypeStr = this.form.classType.join(',');
console.log(classTypeStr); // 输出转换后的字符串
if (valid) {
if (this.form.id != null) {
updateAworkload({ ...this.form, classType: classTypeStr }).then(response => {
this.$modal.msgSuccess("修改成功");
this.edit = false;
this.getList();
});
} else {
addAworkload({ ...this.form, classType: classTypeStr }).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 delAworkload(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('/aworkload/download', {
...this.queryParams
}, `工作量信息_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable @keyup.enter.native="handleQuery"
@keyup.enter.native="handleQuery" /> style="width: 220px;" />
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -29,9 +29,14 @@ ...@@ -29,9 +29,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="startTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="endTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -39,17 +44,12 @@ ...@@ -39,17 +44,12 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:honors:add']">新增</el-button> v-hasPermi="['system:honors:add']">新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <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" <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:honors:remove']">删除</el-button>
</el-col> </el-col>
...@@ -62,11 +62,27 @@ ...@@ -62,11 +62,27 @@
<el-table :data="honorsList" @selection-change="handleSelectionChange"> <el-table :data="honorsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center" prop="type">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类型" align="center" prop="awardType" /> <span>综合荣誉</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType" />
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" /> <el-table-column label="综合荣誉-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -77,10 +93,16 @@ ...@@ -77,10 +93,16 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button size="mini" type="text" @click="handleUpdate(scope.row)" v-hasPermi="['system:honors:edit']"
v-hasPermi="['system:honors:edit']">修改</el-button> v-if="scope.row.auditState === '0' || scope.row.auditState === '3'">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" @click="handleLook(scope.row)" v-hasPermi="['system:honors:edit']"
v-hasPermi="['system:honors:remove']">删除</el-button> v-if="scope.row.auditState === '0' || scope.row.auditState === '1' || scope.row.auditState === '3' || scope.row.auditState === '2'">查看</el-button>
<el-button size="mini" type="text" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']"
v-if="scope.row.auditState === '0' || scope.row.auditState === '3'">删除</el-button>
<el-button size="mini" type="text" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors:remove']" v-if="scope.row.auditState === '0'">提交</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -90,11 +112,11 @@ ...@@ -90,11 +112,11 @@
<!-- 添加或修改综合荣誉对话框 --> <!-- 添加或修改综合荣誉对话框 -->
<el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body> <el-dialog title="详细信息" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px" :disabled="isEdit">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -103,7 +125,7 @@ ...@@ -103,7 +125,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-input v-model="queryParams.awardType" placeholder="请输入获奖类别" clearable <el-input v-model="form.awardType" placeholder="请输入获奖类别" clearable
@keyup.enter.native="handleQuery" /> @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -136,7 +158,7 @@ ...@@ -136,7 +158,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -163,11 +185,12 @@ ...@@ -163,11 +185,12 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" class="custom-margin"> <el-col :span="12" class="custom-margin">
<el-form-item label="证书图片" prop="photo"> <el-form-item label="证书图片" prop="pictureUrl"
:rules="[{ required: true, message: '证书图片不能为空', trigger: 'blur' }]">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -176,21 +199,42 @@ ...@@ -176,21 +199,42 @@
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button v-if="isEdit === false" type="primary" @click="submitForm"></el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel">{{ isEdit ? '取消' : '关闭' }}</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 选择对应处理人 -->
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listHonors, getHonors, delHonors, addHonors, updateHonors } from "@/api/system/honors"; import { listHonorsgr, getHonors, delHonors, addHonors, updateHonors, audit } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Honors", name: "Honors",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() { data() {
return { return {
isEdit: false,
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
...@@ -207,45 +251,23 @@ export default { ...@@ -207,45 +251,23 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 综合荣誉表格数据 // 综合荣誉表格数据
honorsList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
look: false,
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
sub: null, sub: "",
awardType: null, awardType: "",
awardRank: null, awardRank: "",
awardLevel: null, awardLevel: "",
resultName: null, userName: "",
userId: null, startTime: "",
userName: null, endTime: "",
org: null,
awardTime: null,
pictureName: null,
pictureUrl: null,
}, },
// 表单参数 // 表单参数
form: {}, form: {},
...@@ -266,9 +288,6 @@ export default { ...@@ -266,9 +288,6 @@ export default {
resultName: [ resultName: [
{ required: true, message: "成果名称不能为空", trigger: "blur" } { required: true, message: "成果名称不能为空", trigger: "blur" }
], ],
userId: [
{ required: true, message: "获奖人id不能为空", trigger: "blur" }
],
userName: [ userName: [
{ required: true, message: "获奖人不能为空", trigger: "blur" } { required: true, message: "获奖人不能为空", trigger: "blur" }
], ],
...@@ -278,37 +297,49 @@ export default { ...@@ -278,37 +297,49 @@ export default {
awardTime: [ awardTime: [
{ required: true, message: "获奖时间不能为空", trigger: "blur" } { required: true, message: "获奖时间不能为空", trigger: "blur" }
], ],
pictureName: [
{ required: true, message: "证书图片名称不能为空", trigger: "blur" }
],
pictureUrl: [ pictureUrl: [
{ required: true, message: "证书图片地址不能为空", trigger: "blur" } { required: true, message: "证书图片不能为空", trigger: "blur" }
], ],
delFlag: [
{ required: true, message: "删除状态不能为空", trigger: "blur" }
]
} }
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询综合荣誉列表 */ /** 查询综合荣誉列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listHonors(this.queryParams).then(response => { listHonorsgr(this.queryParams).then(response => {
this.honorsList = response.rows; this.honorsList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
handleExamine() { //提交
handleExamine(row) {
const ids = row.id || this.ids;
this.$modal
.confirm("是否提交该信息?")
.then(function () {
const params = {
id: row.id,
auditState: '1'
};
return audit(params);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("提交成功");
})
.catch((err) => {
console.error(err);
});
}, },
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -338,8 +369,8 @@ export default { ...@@ -338,8 +369,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -348,6 +379,7 @@ export default { ...@@ -348,6 +379,7 @@ export default {
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
this.look = false;
this.reset(); this.reset();
}, },
// 表单重置 // 表单重置
...@@ -393,6 +425,9 @@ export default { ...@@ -393,6 +425,9 @@ export default {
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.isEdit = false;
this.form.userName = this.$store.state.user.name;
this.open = true; this.open = true;
this.title = "添加综合荣誉"; this.title = "添加综合荣誉";
}, },
...@@ -400,14 +435,83 @@ export default { ...@@ -400,14 +435,83 @@ export default {
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
this.open = true; this.open = true;
this.isEdit = false;
const id = row.id || this.ids const id = row.id || this.ids
getHonors(id).then(response => { getHonors(id).then(response => {
this.form = response.data; this.form = response.data;
this.pictureUrl = this.pev + this.form.pictureUrl
this.title = "修改综合荣誉"; this.title = "修改综合荣誉";
}); });
}, },
// 查看按钮操作
handleLook(row) {
this.reset();
this.open = true;
this.isEdit = true;
const id = row.id || this.ids
getHonors(id).then(response => {
this.form = response.data;
this.pictureUrl = this.pev + this.form.pictureUrl
this.title = "查看综合荣誉";
});
},
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log('form.userName', this.form.userName);
if (this.form.userName) {
console.log('有值', this.form.userName == "");
} else {
console.log('没值', this.form.userName);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
}
},
// openSelect(title, method, type) {
// console.log(1);
// console.log('form.userName', this.form.userName);
// if (!this.form.id) {
// console.log('新增操作');
// if (Object.keys(this.form).some(key => this.form[key])) {
// console.log('有值', this.form.userName);
// } else {
// console.log('没值', this.form.userName);
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
// }
// } else {
// console.log('修改操作');
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
// }
// },
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.form.auditState = '0';
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
...@@ -438,9 +542,9 @@ export default { ...@@ -438,9 +542,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/honors/export', { this.download('/system/honors/exportGr', {
...this.queryParams ...this.queryParams
}, `honors_${new Date().getTime()}.xlsx`) }, `综合荣誉_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
...@@ -3,28 +3,28 @@ ...@@ -3,28 +3,28 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardType" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_categories" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -67,11 +67,31 @@ ...@@ -67,11 +67,31 @@
<el-table :data="worksList" @selection-change="handleSelectionChange"> <el-table :data="worksList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类型" align="center" prop="awardType" /> <span>论文论著</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_categories" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardRank">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardRank" />
</template>
</el-table-column>
<el-table-column label="成果名称" align="center" prop="resultName" /> <el-table-column label="成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -86,6 +106,8 @@ ...@@ -86,6 +106,8 @@
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors:remove']">审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -99,7 +121,7 @@ ...@@ -99,7 +121,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -143,8 +165,9 @@ ...@@ -143,8 +165,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -175,7 +198,7 @@ ...@@ -175,7 +198,7 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -188,17 +211,34 @@ ...@@ -188,17 +211,34 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 选择对应处理人 -->
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listWorks, getWorks, delWorks, addWorks, updateWorks } from "@/api/system/works"; import { listWorks, getWorks, delWorks, addWorks, updateWorks } from "@/api/smartSchool/electronicArchives/professionalDevelopment/essaysWritings";;
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Works", name: "Works",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categories', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 选中数组 // 选中数组
...@@ -214,26 +254,7 @@ export default { ...@@ -214,26 +254,7 @@ export default {
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
// 论文著作表格数据 // 论文著作表格数据
worksList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -303,7 +324,7 @@ export default { ...@@ -303,7 +324,7 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询论文著作列表 */ /** 查询论文著作列表 */
...@@ -315,6 +336,31 @@ export default { ...@@ -315,6 +336,31 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log(1);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
},
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -322,7 +368,7 @@ export default { ...@@ -322,7 +368,7 @@ export default {
}, },
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -352,8 +398,8 @@ export default { ...@@ -352,8 +398,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -447,9 +493,9 @@ export default { ...@@ -447,9 +493,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/works/export', { this.download('/system/works/export', {
...this.queryParams ...this.queryParams
}, `works_${new Date().getTime()}.xlsx`) }, `论文论著_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖类别" prop="awardType"> <el-form-item label="获奖类别" prop="awardType">
<el-select v-model="form.awardType" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardType" placeholder="请选择" style="width: 220px">
<el-option v-for="dict in dict.type.award_categoriesjk" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_categoriesjk" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</el-form-item> </el-form-item>
<el-form-item label="获奖等级" prop="awardLevel"> <el-form-item label="获奖等级" prop="awardLevel">
<el-select v-model="form.awardLevel" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardLevel" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.award_rank" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -33,9 +33,14 @@ ...@@ -33,9 +33,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -66,11 +71,31 @@ ...@@ -66,11 +71,31 @@
<el-table :data="awardsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类型" align="center" prop="awardType" /> <span>讲课获奖</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_categoriesjk" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardRank">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardRank" />
</template>
</el-table-column>
<el-table-column label="讲课获奖-成果名称" align="center" prop="resultName" /> <el-table-column label="讲课获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -85,6 +110,8 @@ ...@@ -85,6 +110,8 @@
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors:remove']">审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -98,7 +125,7 @@ ...@@ -98,7 +125,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -145,7 +172,8 @@ ...@@ -145,7 +172,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -176,7 +204,7 @@ ...@@ -176,7 +204,7 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -189,17 +217,32 @@ ...@@ -189,17 +217,32 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards"; import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/smartSchool/electronicArchives/professionalDevelopment/lectureAwards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Awards", name: "Awards",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categoriesjk', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjk', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
...@@ -216,26 +259,7 @@ export default { ...@@ -216,26 +259,7 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 讲课获奖表格数据 // 讲课获奖表格数据
awardsList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -301,7 +325,7 @@ export default { ...@@ -301,7 +325,7 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
...@@ -314,10 +338,36 @@ export default { ...@@ -314,10 +338,36 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log(1);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
},
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
// 上传前格式和图片大小限制 // 上传前格式和图片大小限制
...@@ -346,8 +396,8 @@ export default { ...@@ -346,8 +396,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -446,9 +496,9 @@ export default { ...@@ -446,9 +496,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/awards/export', { this.download('/system/awards/export', {
...this.queryParams ...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`) }, `讲课获奖_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
<template>
<el-dialog :visible.sync="openDialog" :title="title" :width="width" @close="dialogClose">
<!-- 模糊查询-->
<el-form :model="form" ref="form" size="small" inline>
<el-form-item prop="userName" label="姓名">
<el-input v-model.trim="form.userName" placeholder="请输入姓名" clearable
@keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item prop="phone" label="联系电话">
<el-input v-model.trim="form.phone" placeholder="请输入联系电话" clearable @keyup.enter.native="search"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="search" type="primary" icon="el-icon-search" size="mini">搜索</el-button>
<el-button @click="reset" icon="el-icon-refresh" size="mini">重置</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table ref="tableList" v-loading="loading" :data="userList" @selection-change="selectionChange"
@row-click="rowClick">
<el-table-column type="selection" align="center"></el-table-column>
<el-table-column key="userName" prop="userName" label="姓名" align="center"></el-table-column>
<el-table-column key="phone" prop="phone" label="联系电话" align="center"></el-table-column>
</el-table>
<!-- 分页-->
<pagination v-show="total > 0" :total="total" :limit.sync="form.pageSize" :page.sync="form.pageNum"
@pagination="search"></pagination>
<!-- 底部-->
<div slot="footer">
<el-button :disabled="!selectUser" @click="submit" type="primary" size="small">确 定</el-button>
<el-button @click="quit" size="small">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getUserList } from "@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors";
export default {
name: "SelectUser",
dicts: ['sys_user_sex'],
props: {
open: {
type: Boolean,
require: true
},
title: {
type: String,
default: ''
},
width: {
type: [Number, String],
default: '50%'
},
execute: {
type: [String]
},
// 选择级部、处室主任
id: {
type: [Number, String]
}
},
data() {
return {
baseURL: process.env.VUE_APP_BASE_API,
form: {
userName: '',
phone: '',
pageNum: 1,
pageSize: 10
},
total: 0,
loading: false,
userList: [],
selectUser: null
}
},
computed: {
openDialog: {
get() {
return this.open;
},
set(value) {
this.$emit('update:open', value);
}
}
},
watch: {
open(value) {
if (value) {
this.$nextTick(() => {
this.reset();
})
}
}
},
methods: {
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async search() {
if (isNaN(Number(this.id))) {
console.error('Invalid ID');
return;
}
try {
this.loading = true;
const response = await this[this.execute]({ applyOrgid: this.id, ...this.form });
this.userList = response.rows || [];
this.total = response.total;
this.loading = false;
} catch (exception) {
this.loading = false;
throw new Error(exception);
}
},
/** 重置表单 */
reset() {
this.form = {
teacherName: '',
teacherTel: '',
pageNum: 1,
pageSize: 10
};
this.resetForm('form');
this.search();
},
/** 选项选中发生变化 */
selectionChange(selections) {
this.selectUser = selections[0];
},
/** 点击选中、取消 */
rowClick(row, column) {
console.log('row', row);
this.$refs['tableList'].clearSelection();
this.$refs['tableList'].toggleRowSelection(row, true);
},
/** 提交选中 */
submit() {
this.$emit('select', {
id: this.selectUser.userId,
name: this.selectUser.userName,
tel: this.selectUser.phone
});
this.quit();
},
/** 取消 */
quit() {
this.openDialog = false;
},
/** 分管领导、主要领导 */
leaderList(form) {
return getUserList(form);
},
dialogClose() {
this.userList = []
}
}
}
</script>
<style scoped>
.footer {
display: flex;
justify-content: center;
margin-top: 30px;
}
.radius-image {
border-radius: 40px;
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="98px">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.sub" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="获奖级别" prop="awardRank"> <el-form-item label="获奖级别" prop="awardRank">
<el-select v-model="form.awardRank" placeholder="请选择" style="width: 100%;"> <el-select v-model="queryParams.awardRank" placeholder="请选择" style="width: 220px;">
<el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.awards_level" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -33,9 +33,14 @@ ...@@ -33,9 +33,14 @@
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.userName" placeholder="请输入获奖人" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="获奖时间" prop="awardTime"> <el-form-item label="获奖开始时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.awardTime" type="date" value-format="yyyy-MM-dd" <el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择获奖时间"> placeholder="请选择">
</el-date-picker>
</el-form-item>
<el-form-item label="获奖结束时间" prop="awardTime">
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -67,11 +72,31 @@ ...@@ -67,11 +72,31 @@
<el-table :data="awardsList" @selection-change="handleSelectionChange"> <el-table :data="awardsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="成长类型" align="center" prop="id" /> <el-table-column label="成长类型" align="center">
<el-table-column label="学科" align="center" prop="sub" /> <template>
<el-table-column label="获奖类别" align="center" prop="awardType" /> <span>教学获奖</span>
<el-table-column label="获奖等级" align="center" prop="awardLevel" /> </template>
<el-table-column label="获奖级别" align="center" prop="awardRank" /> </el-table-column>
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="获奖类别" align="center" prop="awardType">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_categoriesjs" :value="scope.row.awardType" />
</template>
</el-table-column>
<el-table-column label="获奖等级" align="center" prop="awardLevel">
<template slot-scope="scope">
<dict-tag :options="dict.type.award_rank" :value="scope.row.awardLevel" />
</template>
</el-table-column>
<el-table-column label="获奖级别" align="center" prop="awardRank">
<template slot-scope="scope">
<dict-tag :options="dict.type.awards_level" :value="scope.row.awardRank" />
</template>
</el-table-column>
<el-table-column label="教学获奖-成果名称" align="center" prop="resultName" /> <el-table-column label="教学获奖-成果名称" align="center" prop="resultName" />
<el-table-column label="获奖人" align="center" prop="userName" /> <el-table-column label="获奖人" align="center" prop="userName" />
<el-table-column label="主办单位" align="center" prop="org" /> <el-table-column label="主办单位" align="center" prop="org" />
...@@ -86,6 +111,8 @@ ...@@ -86,6 +111,8 @@
v-hasPermi="['system:honors:edit']">修改</el-button> v-hasPermi="['system:honors:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:honors:remove']">删除</el-button> v-hasPermi="['system:honors:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-s-check" @click="handleExamine(scope.row)"
v-hasPermi="['system:honors:remove']">审核</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -99,7 +126,7 @@ ...@@ -99,7 +126,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="学科" prop="sub"> <el-form-item label="学科" prop="sub">
<el-select v-model="form.teachingSubject" placeholder="请选择" style="width: 100%;"> <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" <el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value"> :value="dict.value">
</el-option> </el-option>
...@@ -144,7 +171,9 @@ ...@@ -144,7 +171,9 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="获奖人" prop="userName"> <el-form-item label="获奖人" prop="userName">
<el-input v-model="form.userName" placeholder="请输入获奖人" /> <el-input v-model="form.userName" placeholder="请选择分管领导"
@input="openSelect('选择分管领导', 'leaderList', 2)"
@focus="openSelect('选择分管领导', 'leaderList', 2)"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -175,7 +204,7 @@ ...@@ -175,7 +204,7 @@
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*" <el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :show-file-list="false" :on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload" :http-request="uploadImage"> :before-upload="beforeAvatarUpload" :http-request="uploadImage">
<img v-if="form.photoUrl" :src="baseUrl + form.photoUrl" <img v-if="form.pictureUrl" :src="baseUrl + form.pictureUrl"
style="max-width: 100%; max-height: 100%" class="avatar" alt="" /> style="max-width: 100%; max-height: 100%" class="avatar" alt="" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i> <i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload> </el-upload>
...@@ -188,17 +217,32 @@ ...@@ -188,17 +217,32 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<SelectUser :id="selectHandles.id" :open.sync="selectHandles.open" :title="selectHandles.title"
:width="selectHandles.width" :execute="selectHandles.method" @select="selectUser"></SelectUser>
</div> </div>
</template> </template>
<script> <script>
// import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/system/awards"; import { listAwards, getAwards, delAwards, addAwards, updateAwards } from "@/api/smartSchool/electronicArchives/professionalDevelopment/teacherAwards";
import { uploadImage as commonUpload } from "@/api/common"; import { uploadImage as commonUpload } from "@/api/common";
import SelectUser from "./components/SelectUser";
export default { export default {
name: "Awards", name: "Awards",
components: {
SelectUser,
},
dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'], dicts: ["teaching_subjects", 'award_categoriesjs', 'awards_level', 'award_rank'],
data() { data() {
return { return {
// 选择对应处理人
selectHandles: {
id: null,
open: false,
title: '',
width: '50%',
method: null,
type: null // 处理类型: 1 级部/处室; 2 分管; 3 主管
},
// 图片上传遮罩层 // 图片上传遮罩层
uploadLoading: false, uploadLoading: false,
baseUrl: [process.env.VUE_APP_BASE_API], baseUrl: [process.env.VUE_APP_BASE_API],
...@@ -215,26 +259,7 @@ export default { ...@@ -215,26 +259,7 @@ export default {
// 总条数 // 总条数
total: 0, total: 0,
// 教师获奖表格数据 // 教师获奖表格数据
awardsList: [{ 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: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -299,7 +324,7 @@ export default { ...@@ -299,7 +324,7 @@ export default {
}; };
}, },
created() { created() {
// this.getList(); this.getList();
}, },
methods: { methods: {
/** 查询教师获奖列表 */ /** 查询教师获奖列表 */
...@@ -311,9 +336,34 @@ export default { ...@@ -311,9 +336,34 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
// 选择处理人:打开对话框
openSelect(title, method, type) {
console.log(1);
this.selectHandles.open = true;
this.selectHandles.title = title;
this.selectHandles.method = method;
this.selectHandles.type = type;
},
// 选择处理人
selectUser(select) {
this.$set(this.form, `userName${this.selectHandles.type}`, select.name);
console.log(select.name);
this.$set(this.form, `userId${this.selectHandles.type}`, select.id);
console.log(select.id);
// 设置顶层的 userName 和 userId 字段
this.form.userName = select.name;
console.log(124, this.form.userName);
console.log(select);
this.form.userId = select.id;
console.log(this.form.userId, 'this.form.userId');
// 重新赋值选中的 id
this.selectUser.id = select.id;
},
// 上传成功回调 // 上传成功回调
handleAvatarSuccess(res, file) { handleAvatarSuccess(res, file) {
this.photoUrl = res.data.url; this.pictureUrl = res.data.url;
this.commonUpload(file); this.commonUpload(file);
}, },
...@@ -343,8 +393,8 @@ export default { ...@@ -343,8 +393,8 @@ export default {
.then((response) => { .then((response) => {
this.uploadLoading = false; this.uploadLoading = false;
this.$modal.msgSuccess("上传成功"); this.$modal.msgSuccess("上传成功");
this.photoUrl = this.pev + response.url; this.pictureUrl = this.pev + response.url;
this.form.photoUrl = response.url; this.form.pictureUrl = response.url;
}) })
.catch((error) => { .catch((error) => {
this.uploadLoading = false; this.uploadLoading = false;
...@@ -443,9 +493,9 @@ export default { ...@@ -443,9 +493,9 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/awards/export', { this.download('/school/teacherAwards/export', {
...this.queryParams ...this.queryParams
}, `awards_${new Date().getTime()}.xlsx`) }, `教师获奖_${new Date().getTime()}.xlsx`)
} }
} }
}; };
......
...@@ -5,22 +5,15 @@ import com.ruoyi.common.core.controller.BaseController; ...@@ -5,22 +5,15 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment; import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment;
import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessmentExport;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasiclnExport;
import yangtz.cs.liu.campus.service.schoolAnnualAssessment.ISchoolAnnualAssessmentService; import yangtz.cs.liu.campus.service.schoolAnnualAssessment.ISchoolAnnualAssessmentService;
import yangtz.cs.liu.campus.vo.auditorium.SchoolAuditoriumVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
......
package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentReq;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolAclassTeacherAssessmentService;
import javax.servlet.http.HttpServletResponse;
/**
* 班主任考核Controller
*
* @author ruoyi
* @date 2023-12-12
*/
@RestController
@RequestMapping("/assessment")
public class SchoolAclassTeacherAssessmentController extends BaseController
{
@Autowired
private ISchoolAclassTeacherAssessmentService schoolAclassTeacherAssessmentService;
private Logger log = LoggerFactory.getLogger(SchoolAworkloadController.class);
/**
* 查询班主任考核列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolAclassTeacherAssessmentReq req)
{
startPage();
List<SchoolAclassTeacherAssessmentVo> list = schoolAclassTeacherAssessmentService.selectSchoolAclassTeacherAssessmentList(req);
return getDataTable(list);
}
/**
* 获取班主任考核详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolAclassTeacherAssessmentService.selectSchoolAclassTeacherAssessmentById(id));
}
/**
* 新增班主任考核
*/
@Log(title = "班主任考核", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SchoolAclassTeacherAssessment schoolAclassTeacherAssessment)
{
return toAjax(schoolAclassTeacherAssessmentService.insertSchoolAclassTeacherAssessment(schoolAclassTeacherAssessment));
}
/**
* 修改班主任考核
*/
@Log(title = "班主任考核", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SchoolAclassTeacherAssessment schoolAclassTeacherAssessment)
{
return toAjax(schoolAclassTeacherAssessmentService.updateSchoolAclassTeacherAssessment(schoolAclassTeacherAssessment));
}
/**
* 删除班主任考核
*/
@Log(title = "班主任考核", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolAclassTeacherAssessmentService.deleteSchoolAclassTeacherAssessmentByIds(ids));
}
/**
* 末班下载
* @param response
* @throws Exception
*/
@PostMapping(value = "/download")
public void downloadFile(HttpServletResponse response) throws Exception {
// 以流的形式下载文件。
try {
//读取文件
InputStream resourceAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file/班主任任职导入模板.xlsx");
InputStream fis = new BufferedInputStream(resourceAsStream);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.setHeader("Content-Disposition", "attachment;filename="+java.net.URLEncoder.encode("班主任导入模板.xlsx", "utf-8"));
//response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + buffer.length);
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException e) {
log.info(e.getMessage());
}
}
/**
* 导入
* @param file
* @return
* @throws Exception
*/
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file) throws Exception {
List<SchoolAclassTeacherAssessment> list = new ArrayList<>();
ExcelUtil<SchoolAclassTeacherAssessment> util = new ExcelUtil<SchoolAclassTeacherAssessment>(SchoolAclassTeacherAssessment.class);
List<SchoolAclassTeacherAssessment> detailList = util.importExceltoRow(file.getInputStream(),1);
//1.导入
boolean b = schoolAclassTeacherAssessmentService.saveBatch(detailList);
return AjaxResult.success();
}
/**
* 导出
* @param
* @return
*/
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolAclassTeacherAssessmentReq req ) throws Exception{
List<SchoolAclassTeacherAssessment> schoolAclassTeacherAssessmentVos = schoolAclassTeacherAssessmentService.selectSchoolList(req);
ExcelUtil<SchoolAclassTeacherAssessment> util = new ExcelUtil<>(SchoolAclassTeacherAssessment.class);
util.exportExcel(response, schoolAclassTeacherAssessmentVos, "老师考核");
}
}
package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.poi.ExcelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkload;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolAworkloadService;
/**
* 工作量信息Controller
*
* @author ruoyi
* @date 2023-12-11
*/
@RestController
@RequestMapping("/aworkload")
public class SchoolAworkloadController extends BaseController
{
@Autowired
private ISchoolAworkloadService schoolAworkloadService;
private Logger log = LoggerFactory.getLogger(SchoolAworkloadController.class);
/**
* 查询工作量信息列表
*/
@GetMapping("/list")
public TableDataInfo list(SchoolAworkload schoolAworkload)
{
startPage();
List<SchoolAworkloadVo> list = schoolAworkloadService.selectSchoolAworkloadList(schoolAworkload);
return getDataTable(list);
}
/**
* 获取工作量信息详细信息
*/
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(schoolAworkloadService.selectSchoolAworkloadById(id));
}
/**
* 新增工作量信息
*/
@Log(title = "工作量信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SchoolAworkload schoolAworkload)
{
return toAjax(schoolAworkloadService.insertSchoolAworkload(schoolAworkload));
}
/**
* 修改工作量信息
*/
@Log(title = "工作量信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SchoolAworkload schoolAworkload)
{
return toAjax(schoolAworkloadService.updateSchoolAworkload(schoolAworkload));
}
/**
* 删除工作量信息
*/
@Log(title = "工作量信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(schoolAworkloadService.deleteSchoolAworkloadByIds(ids));
}
@PostMapping(value = "/download")
public void downloadFile(HttpServletResponse response) throws Exception {
// 以流的形式下载文件。
try {
//读取文件
InputStream resourceAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file/工作量信息导入模板.xlsx");
InputStream fis = new BufferedInputStream(resourceAsStream);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.setHeader("Content-Disposition", "attachment;filename="+java.net.URLEncoder.encode("工作量信息导入模板.xlsx", "utf-8"));
//response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + buffer.length);
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException e) {
log.info(e.getMessage());
}
}
/**
* 导入
* @param file
* @return
* @throws Exception
*/
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file) throws Exception {
List<SchoolAworkload> list = new ArrayList<>();
ExcelUtil<SchoolAworkloadExport> util = new ExcelUtil<SchoolAworkloadExport>(SchoolAworkloadExport.class);
List<SchoolAworkloadExport> detailList = util.importExceltoRow(file.getInputStream(),1);
//1.导入
for (SchoolAworkloadExport date :detailList){
SchoolAworkload schoolAworkload = new SchoolAworkload();
BeanUtils.copyProperties(date,schoolAworkload);
list.add(schoolAworkload);
}
boolean b = schoolAworkloadService.saveBatch(list);
return AjaxResult.success(b);
}
/**
* 导出
* @param
* @return
*/
@PostMapping("/export")
public void export(HttpServletResponse response, SchoolAworkload schoolAworkload ) throws Exception{
List<SchoolAworkloadExport> schoolAworkloadVos = schoolAworkloadService.selectAworkloadList(schoolAworkload);
ExcelUtil<SchoolAworkloadExport> util = new ExcelUtil<>(SchoolAworkloadExport.class);
util.exportExcel(response, schoolAworkloadVos, "工作量内容");
}
}
package yangtz.cs.liu.campus.controller.teacherFiles; package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
...@@ -14,16 +13,12 @@ import org.springframework.beans.BeanUtils; ...@@ -14,16 +13,12 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.organization.SchoolOrganizationInfo; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformation;
import yangtz.cs.liu.campus.domain.schoolEquipment.SchoolEquipmentLedger; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo;
import yangtz.cs.liu.campus.domain.student.SchoolStudentEvaluate; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasiclnExport;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasiclnExport;
import yangtz.cs.liu.campus.domain.teacherFiles.TeacherFiles;
import yangtz.cs.liu.campus.service.impl.teacherFiles.IdCardNumberUtils; import yangtz.cs.liu.campus.service.impl.teacherFiles.IdCardNumberUtils;
import yangtz.cs.liu.campus.service.teacherFiles.SchoolTeacherBasichlnformationService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.SchoolTeacherBasichlnformationService;
import yangtz.cs.liu.campus.vo.schoolClass.SchoolClassDrVo;
import yangtz.cs.liu.wechat.controller.api.WxApiController;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
...@@ -48,9 +43,9 @@ public class SchoolTeacherBasiclnformationController extends BaseController { ...@@ -48,9 +43,9 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
* @return * @return
*/ */
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolTeacherBasicInformation information) throws Exception{ public TableDataInfo list(SchoolTeacherBasicInformationVo information) throws Exception{
startPage(); startPage();
List<SchoolTeacherBasicInformation> list = basichlnformationService.list(information); List<SchoolTeacherBasicInformationVo> list = basichlnformationService.list(information);
return getDataTable(list); return getDataTable(list);
} }
...@@ -59,7 +54,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController { ...@@ -59,7 +54,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
*/ */
@GetMapping("/{id}") @GetMapping("/{id}")
public AjaxResult getById(@PathVariable("id") Long id ) throws Exception{ public AjaxResult getById(@PathVariable("id") Long id ) throws Exception{
return AjaxResult.success(basichlnformationService.getById(id)); return AjaxResult.success(basichlnformationService.getByIds(id));
} }
/** /**
...@@ -87,6 +82,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController { ...@@ -87,6 +82,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
*/ */
@PutMapping("/update") @PutMapping("/update")
public AjaxResult update(@RequestBody SchoolTeacherBasicInformation information){ public AjaxResult update(@RequestBody SchoolTeacherBasicInformation information){
return AjaxResult.success(basichlnformationService.updateById(information)); return AjaxResult.success(basichlnformationService.updateById(information));
} }
...@@ -160,8 +156,8 @@ public class SchoolTeacherBasiclnformationController extends BaseController { ...@@ -160,8 +156,8 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
* @param * @param
* @return * @return
*/ */
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response,@RequestBody SchoolTeacherBasiclnExport export ) throws Exception{ public void export(HttpServletResponse response, SchoolTeacherBasiclnExport export ) throws Exception{
List<SchoolTeacherBasicInformation> list = new ArrayList<>(); List<SchoolTeacherBasicInformation> list = new ArrayList<>();
List<SchoolTeacherBasiclnExport> exportList = new ArrayList<>(); List<SchoolTeacherBasiclnExport> exportList = new ArrayList<>();
ExcelUtil<SchoolTeacherBasiclnExport> util = new ExcelUtil<>(SchoolTeacherBasiclnExport.class); ExcelUtil<SchoolTeacherBasiclnExport> util = new ExcelUtil<>(SchoolTeacherBasiclnExport.class);
...@@ -217,6 +213,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController { ...@@ -217,6 +213,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
.or() .or()
.like(SchoolTeacherBasicInformation::getLastDegree,export.getFirstDegree())); .like(SchoolTeacherBasicInformation::getLastDegree,export.getFirstDegree()));
} }
wrapper.eq(SchoolTeacherBasicInformation::getDelFlag,"0");
//查询出来结果复制 //查询出来结果复制
List<SchoolTeacherBasicInformation> list1 = basichlnformationService.list(wrapper); List<SchoolTeacherBasicInformation> list1 = basichlnformationService.list(wrapper);
list1.forEach(date->{ list1.forEach(date->{
...@@ -227,4 +224,14 @@ public class SchoolTeacherBasiclnformationController extends BaseController { ...@@ -227,4 +224,14 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
util.exportExcel(response, exportList, "教师基本信息"); util.exportExcel(response, exportList, "教师基本信息");
} }
} }
/*
* 批量导入老师照片
* */
@PostMapping("/importTeacherPicture")
public AjaxResult importTeacherPicture(MultipartFile file){
return AjaxResult.success(basichlnformationService.importTeacherPicture(file));
}
} }
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -20,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; ...@@ -20,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXacademicWorksService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXacademicWorksService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXacademicWorksVo;
/** /**
* 论文著作Controller * 论文著作Controller
...@@ -37,29 +40,71 @@ public class SchoolXacademicWorksController extends BaseController ...@@ -37,29 +40,71 @@ public class SchoolXacademicWorksController extends BaseController
/** /**
* 查询论文著作列表 * 查询论文著作列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:works:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolXacademicWorks schoolXacademicWorks) public TableDataInfo list(SchoolXacademicWorksVo schoolXacademicWorksVo)
{
startPage();
List<SchoolXacademicWorksVo> list = schoolXacademicWorksService.selectSchoolXacademicWorksList(schoolXacademicWorksVo);
return getDataTable(list);
}
/**
* 查询论文著作列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:works:listGr')")
@GetMapping("/listGr")
public TableDataInfo listGr(SchoolXacademicWorksVo schoolXacademicWorksVo)
{ {
schoolXacademicWorksVo.setUserId(SecurityUtils.getUserId());
startPage(); startPage();
List<SchoolXacademicWorks> list = schoolXacademicWorksService.selectSchoolXacademicWorksList(schoolXacademicWorks); List<SchoolXacademicWorksVo> list = schoolXacademicWorksService.selectSchoolXacademicWorksList(schoolXacademicWorksVo);
return getDataTable(list); return getDataTable(list);
} }
/** /**
* 导出论文著作列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:works:exportGr')")
@Log(title = "论文著作", businessType = BusinessType.EXPORT)
@PostMapping("/exportGr")
public void exportGr(HttpServletResponse response, @RequestBody SchoolXacademicWorksVo schoolXacademicWorksVo)
{
int i = 0;
schoolXacademicWorksVo.setUserId(SecurityUtils.getUserId());
List<SchoolXacademicWorksVo> list = schoolXacademicWorksService.selectSchoolXacademicWorksList(schoolXacademicWorksVo);
for (SchoolXacademicWorksVo xacademicWorksVo : list) {
i ++;
xacademicWorksVo.setXh(i);
xacademicWorksVo.setGrowthType("论文论著");
}
ExcelUtil<SchoolXacademicWorksVo> util = new ExcelUtil<SchoolXacademicWorksVo>(SchoolXacademicWorksVo.class);
util.exportExcel(response, list, "论文著作数据");
}
/**
* 导出论文著作列表 * 导出论文著作列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:works:export')")
@Log(title = "论文著作", businessType = BusinessType.EXPORT) @Log(title = "论文著作", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolXacademicWorks schoolXacademicWorks) public void export(HttpServletResponse response, @RequestBody SchoolXacademicWorksVo schoolXacademicWorksVo)
{ {
List<SchoolXacademicWorks> list = schoolXacademicWorksService.selectSchoolXacademicWorksList(schoolXacademicWorks); int i = 0;
ExcelUtil<SchoolXacademicWorks> util = new ExcelUtil<SchoolXacademicWorks>(SchoolXacademicWorks.class); List<SchoolXacademicWorksVo> list = schoolXacademicWorksService.selectSchoolXacademicWorksList(schoolXacademicWorksVo);
for (SchoolXacademicWorksVo xacademicWorksVo : list) {
i ++;
xacademicWorksVo.setXh(i);
xacademicWorksVo.setGrowthType("论文论著");
}
ExcelUtil<SchoolXacademicWorksVo> util = new ExcelUtil<SchoolXacademicWorksVo>(SchoolXacademicWorksVo.class);
util.exportExcel(response, list, "论文著作数据"); util.exportExcel(response, list, "论文著作数据");
} }
/** /**
* 获取论文著作详细信息 * 获取论文著作详细信息
*/ */
// @PreAuthorize("@ss.hasPermi('system:works:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
...@@ -69,6 +114,7 @@ public class SchoolXacademicWorksController extends BaseController ...@@ -69,6 +114,7 @@ public class SchoolXacademicWorksController extends BaseController
/** /**
* 新增论文著作 * 新增论文著作
*/ */
// @PreAuthorize("@ss.hasPermi('system:works:add')")
@Log(title = "论文著作", businessType = BusinessType.INSERT) @Log(title = "论文著作", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody SchoolXacademicWorks schoolXacademicWorks) public AjaxResult add(@RequestBody SchoolXacademicWorks schoolXacademicWorks)
...@@ -79,6 +125,7 @@ public class SchoolXacademicWorksController extends BaseController ...@@ -79,6 +125,7 @@ public class SchoolXacademicWorksController extends BaseController
/** /**
* 修改论文著作 * 修改论文著作
*/ */
// @PreAuthorize("@ss.hasPermi('system:works:edit')")
@Log(title = "论文著作", businessType = BusinessType.UPDATE) @Log(title = "论文著作", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody SchoolXacademicWorks schoolXacademicWorks) public AjaxResult edit(@RequestBody SchoolXacademicWorks schoolXacademicWorks)
...@@ -89,10 +136,20 @@ public class SchoolXacademicWorksController extends BaseController ...@@ -89,10 +136,20 @@ public class SchoolXacademicWorksController extends BaseController
/** /**
* 删除论文著作 * 删除论文著作
*/ */
// @PreAuthorize("@ss.hasPermi('system:works:remove')")
@Log(title = "论文著作", businessType = BusinessType.DELETE) @Log(title = "论文著作", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids)
{ {
return toAjax(schoolXacademicWorksService.deleteSchoolXacademicWorksByIds(ids)); return toAjax(schoolXacademicWorksService.deleteSchoolXacademicWorksByIds(ids));
} }
/**
* 审核
*/
// @PreAuthorize("@ss.hasPermi('system:works:audit')")
@PostMapping("/audit")
public AjaxResult audit(@RequestBody SchoolXacademicWorks schoolXacademicWorks){
return toAjax(schoolXacademicWorksService.audit(schoolXacademicWorks));
}
} }
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -20,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; ...@@ -20,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXcomprehensiveHonorsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXcomprehensiveHonorsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsVo;
/** /**
* 综合荣誉Controller * 综合荣誉Controller
...@@ -37,29 +40,71 @@ public class SchoolXcomprehensiveHonorsController extends BaseController ...@@ -37,29 +40,71 @@ public class SchoolXcomprehensiveHonorsController extends BaseController
/** /**
* 查询综合荣誉列表 * 查询综合荣誉列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:honors:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public TableDataInfo list(SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo)
{
startPage();
List<SchoolXcomprehensiveHonorsVo> list = schoolXcomprehensiveHonorsService.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonorsVo);
return getDataTable(list);
}
/**
* 查询综合荣誉列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:honors:listGr')")
@GetMapping("/listGr")
public TableDataInfo listGr(SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo)
{ {
schoolXcomprehensiveHonorsVo.setUserId(SecurityUtils.getUserId());
startPage(); startPage();
List<SchoolXcomprehensiveHonors> list = schoolXcomprehensiveHonorsService.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonors); List<SchoolXcomprehensiveHonorsVo> list = schoolXcomprehensiveHonorsService.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonorsVo);
return getDataTable(list); return getDataTable(list);
} }
/** /**
* 导出综合荣誉列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:honors:exportGr')")
@Log(title = "综合荣誉", businessType = BusinessType.EXPORT)
@PostMapping("/exportGr")
public void exportGr(HttpServletResponse response, @RequestBody SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo)
{
int i = 0;
schoolXcomprehensiveHonorsVo.setUserId(SecurityUtils.getUserId());
List<SchoolXcomprehensiveHonorsVo> list = schoolXcomprehensiveHonorsService.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonorsVo);
for (SchoolXcomprehensiveHonorsVo xcomprehensiveHonorsVo : list) {
i ++;
xcomprehensiveHonorsVo.setXh(i);
xcomprehensiveHonorsVo.setGrowthType("综合荣誉");
}
ExcelUtil<SchoolXcomprehensiveHonorsVo> util = new ExcelUtil<SchoolXcomprehensiveHonorsVo>(SchoolXcomprehensiveHonorsVo.class);
util.exportExcel(response, list, "综合荣誉数据");
}
/**
* 导出综合荣誉列表 * 导出综合荣誉列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:honors:export')")
@Log(title = "综合荣誉", businessType = BusinessType.EXPORT) @Log(title = "综合荣誉", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public void export(HttpServletResponse response, @RequestBody SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo)
{ {
List<SchoolXcomprehensiveHonors> list = schoolXcomprehensiveHonorsService.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonors); int i = 0;
ExcelUtil<SchoolXcomprehensiveHonors> util = new ExcelUtil<SchoolXcomprehensiveHonors>(SchoolXcomprehensiveHonors.class); List<SchoolXcomprehensiveHonorsVo> list = schoolXcomprehensiveHonorsService.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonorsVo);
for (SchoolXcomprehensiveHonorsVo xcomprehensiveHonorsVo : list) {
i ++;
xcomprehensiveHonorsVo.setXh(i);
xcomprehensiveHonorsVo.setGrowthType("综合荣誉");
}
ExcelUtil<SchoolXcomprehensiveHonorsVo> util = new ExcelUtil<SchoolXcomprehensiveHonorsVo>(SchoolXcomprehensiveHonorsVo.class);
util.exportExcel(response, list, "综合荣誉数据"); util.exportExcel(response, list, "综合荣誉数据");
} }
/** /**
* 获取综合荣誉详细信息 * 获取综合荣誉详细信息
*/ */
// @PreAuthorize("@ss.hasPermi('system:honors:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
...@@ -69,6 +114,7 @@ public class SchoolXcomprehensiveHonorsController extends BaseController ...@@ -69,6 +114,7 @@ public class SchoolXcomprehensiveHonorsController extends BaseController
/** /**
* 新增综合荣誉 * 新增综合荣誉
*/ */
// @PreAuthorize("@ss.hasPermi('system:honors:add')")
@Log(title = "综合荣誉", businessType = BusinessType.INSERT) @Log(title = "综合荣誉", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public AjaxResult add(@RequestBody SchoolXcomprehensiveHonors schoolXcomprehensiveHonors)
...@@ -79,6 +125,7 @@ public class SchoolXcomprehensiveHonorsController extends BaseController ...@@ -79,6 +125,7 @@ public class SchoolXcomprehensiveHonorsController extends BaseController
/** /**
* 修改综合荣誉 * 修改综合荣誉
*/ */
// @PreAuthorize("@ss.hasPermi('system:honors:edit')")
@Log(title = "综合荣誉", businessType = BusinessType.UPDATE) @Log(title = "综合荣誉", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public AjaxResult edit(@RequestBody SchoolXcomprehensiveHonors schoolXcomprehensiveHonors)
...@@ -89,10 +136,20 @@ public class SchoolXcomprehensiveHonorsController extends BaseController ...@@ -89,10 +136,20 @@ public class SchoolXcomprehensiveHonorsController extends BaseController
/** /**
* 删除综合荣誉 * 删除综合荣誉
*/ */
// @PreAuthorize("@ss.hasPermi('system:honors:remove')")
@Log(title = "综合荣誉", businessType = BusinessType.DELETE) @Log(title = "综合荣誉", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids)
{ {
return toAjax(schoolXcomprehensiveHonorsService.deleteSchoolXcomprehensiveHonorsByIds(ids)); return toAjax(schoolXcomprehensiveHonorsService.deleteSchoolXcomprehensiveHonorsByIds(ids));
} }
/**
* 审核
*/
// @PreAuthorize("@ss.hasPermi('system:honors:audit')")
@PostMapping("/audit")
public AjaxResult audit(@RequestBody SchoolXcomprehensiveHonors schoolXcomprehensiveHonors){
return toAjax(schoolXcomprehensiveHonorsService.audit(schoolXcomprehensiveHonors));
}
} }
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -20,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; ...@@ -20,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXlectureAwardsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXlectureAwardsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXlectureAwardsVo;
/** /**
* 讲课获奖Controller * 讲课获奖Controller
...@@ -37,32 +40,71 @@ public class SchoolXlectureAwardsController extends BaseController ...@@ -37,32 +40,71 @@ public class SchoolXlectureAwardsController extends BaseController
/** /**
* 查询讲课获奖列表 * 查询讲课获奖列表
*/ */
@PreAuthorize("@ss.hasPermi('system:awards:list')") // @PreAuthorize("@ss.hasPermi('system:awards:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolXlectureAwards schoolXlectureAwards) public TableDataInfo list(SchoolXlectureAwardsVo schoolXlectureAwardsVo)
{
startPage();
List<SchoolXlectureAwardsVo> list = schoolXlectureAwardsService.selectSchoolXlectureAwardsList(schoolXlectureAwardsVo);
return getDataTable(list);
}
/**
* 查询讲课获奖列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:awards:listGr')")
@GetMapping("/listGr")
public TableDataInfo listGr(SchoolXlectureAwardsVo schoolXlectureAwardsVo)
{ {
schoolXlectureAwardsVo.setUserId(SecurityUtils.getUserId());
startPage(); startPage();
List<SchoolXlectureAwards> list = schoolXlectureAwardsService.selectSchoolXlectureAwardsList(schoolXlectureAwards); List<SchoolXlectureAwardsVo> list = schoolXlectureAwardsService.selectSchoolXlectureAwardsList(schoolXlectureAwardsVo);
return getDataTable(list); return getDataTable(list);
} }
/** /**
* 导出讲课获奖列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:awards:exportGr')")
@Log(title = "讲课获奖", businessType = BusinessType.EXPORT)
@PostMapping("/exportGr")
public void exportGr(HttpServletResponse response, @RequestBody SchoolXlectureAwardsVo schoolXlectureAwardsVo)
{
int i = 0;
schoolXlectureAwardsVo.setUserId(SecurityUtils.getUserId());
List<SchoolXlectureAwardsVo> list = schoolXlectureAwardsService.selectSchoolXlectureAwardsList(schoolXlectureAwardsVo);
for (SchoolXlectureAwardsVo xlectureAwardsVo : list) {
i ++;
xlectureAwardsVo.setXh(i);
xlectureAwardsVo.setGrowthType("讲课获奖");
}
ExcelUtil<SchoolXlectureAwardsVo> util = new ExcelUtil<SchoolXlectureAwardsVo>(SchoolXlectureAwardsVo.class);
util.exportExcel(response, list, "讲课获奖数据");
}
/**
* 导出讲课获奖列表 * 导出讲课获奖列表
*/ */
@PreAuthorize("@ss.hasPermi('system:awards:export')") // @PreAuthorize("@ss.hasPermi('system:awards:export')")
@Log(title = "讲课获奖", businessType = BusinessType.EXPORT) @Log(title = "讲课获奖", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolXlectureAwards schoolXlectureAwards) public void export(HttpServletResponse response, @RequestBody SchoolXlectureAwardsVo schoolXlectureAwardsVo)
{ {
List<SchoolXlectureAwards> list = schoolXlectureAwardsService.selectSchoolXlectureAwardsList(schoolXlectureAwards); int i = 0;
ExcelUtil<SchoolXlectureAwards> util = new ExcelUtil<SchoolXlectureAwards>(SchoolXlectureAwards.class); List<SchoolXlectureAwardsVo> list = schoolXlectureAwardsService.selectSchoolXlectureAwardsList(schoolXlectureAwardsVo);
for (SchoolXlectureAwardsVo xlectureAwardsVo : list) {
i ++;
xlectureAwardsVo.setXh(i);
xlectureAwardsVo.setGrowthType("讲课获奖");
}
ExcelUtil<SchoolXlectureAwardsVo> util = new ExcelUtil<SchoolXlectureAwardsVo>(SchoolXlectureAwardsVo.class);
util.exportExcel(response, list, "讲课获奖数据"); util.exportExcel(response, list, "讲课获奖数据");
} }
/** /**
* 获取讲课获奖详细信息 * 获取讲课获奖详细信息
*/ */
@PreAuthorize("@ss.hasPermi('system:awards:query')") // @PreAuthorize("@ss.hasPermi('system:awards:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
...@@ -72,7 +114,7 @@ public class SchoolXlectureAwardsController extends BaseController ...@@ -72,7 +114,7 @@ public class SchoolXlectureAwardsController extends BaseController
/** /**
* 新增讲课获奖 * 新增讲课获奖
*/ */
@PreAuthorize("@ss.hasPermi('system:awards:add')") // @PreAuthorize("@ss.hasPermi('system:awards:add')")
@Log(title = "讲课获奖", businessType = BusinessType.INSERT) @Log(title = "讲课获奖", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody SchoolXlectureAwards schoolXlectureAwards) public AjaxResult add(@RequestBody SchoolXlectureAwards schoolXlectureAwards)
...@@ -83,7 +125,7 @@ public class SchoolXlectureAwardsController extends BaseController ...@@ -83,7 +125,7 @@ public class SchoolXlectureAwardsController extends BaseController
/** /**
* 修改讲课获奖 * 修改讲课获奖
*/ */
@PreAuthorize("@ss.hasPermi('system:awards:edit')") // @PreAuthorize("@ss.hasPermi('system:awards:edit')")
@Log(title = "讲课获奖", businessType = BusinessType.UPDATE) @Log(title = "讲课获奖", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody SchoolXlectureAwards schoolXlectureAwards) public AjaxResult edit(@RequestBody SchoolXlectureAwards schoolXlectureAwards)
...@@ -94,11 +136,20 @@ public class SchoolXlectureAwardsController extends BaseController ...@@ -94,11 +136,20 @@ public class SchoolXlectureAwardsController extends BaseController
/** /**
* 删除讲课获奖 * 删除讲课获奖
*/ */
@PreAuthorize("@ss.hasPermi('system:awards:remove')") // @PreAuthorize("@ss.hasPermi('system:awards:remove')")
@Log(title = "讲课获奖", businessType = BusinessType.DELETE) @Log(title = "讲课获奖", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids)
{ {
return toAjax(schoolXlectureAwardsService.deleteSchoolXlectureAwardsByIds(ids)); return toAjax(schoolXlectureAwardsService.deleteSchoolXlectureAwardsByIds(ids));
} }
/**
* 审核
*/
// @PreAuthorize("@ss.hasPermi('system:awards:audit')")
@PostMapping("/audit")
public AjaxResult audit(@RequestBody SchoolXlectureAwards schoolXlectureAwards){
return toAjax(schoolXlectureAwardsService.audit(schoolXlectureAwards));
}
} }
...@@ -2,7 +2,10 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn; ...@@ -2,7 +2,10 @@ package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
...@@ -19,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil; ...@@ -19,6 +22,7 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteacherAwardsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteacherAwardsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteacherAwardsVo;
/** /**
* 教师获奖Controller * 教师获奖Controller
...@@ -36,29 +40,71 @@ public class SchoolXteacherAwardsController extends BaseController ...@@ -36,29 +40,71 @@ public class SchoolXteacherAwardsController extends BaseController
/** /**
* 查询教师获奖列表 * 查询教师获奖列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:awards:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolXteacherAwards schoolXteacherAwards) public TableDataInfo list(SchoolXteacherAwardsVo schoolXteacherAwardsVo)
{
startPage();
List<SchoolXteacherAwardsVo> list = schoolXteacherAwardsService.selectSchoolXteacherAwardsList(schoolXteacherAwardsVo);
return getDataTable(list);
}
/**
* 查询教师获奖列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:awards:listGr')")
@GetMapping("/listGr")
public TableDataInfo listGr(SchoolXteacherAwardsVo schoolXteacherAwardsVo)
{ {
schoolXteacherAwardsVo.setUserId(SecurityUtils.getUserId());
startPage(); startPage();
List<SchoolXteacherAwards> list = schoolXteacherAwardsService.selectSchoolXteacherAwardsList(schoolXteacherAwards); List<SchoolXteacherAwardsVo> list = schoolXteacherAwardsService.selectSchoolXteacherAwardsList(schoolXteacherAwardsVo);
return getDataTable(list); return getDataTable(list);
} }
/** /**
* 导出教师获奖列表(个人)
*/
// @PreAuthorize("@ss.hasPermi('system:awards:exportGr')")
@Log(title = "教师获奖", businessType = BusinessType.EXPORT)
@PostMapping("/exportGr")
public void exportGr(HttpServletResponse response,@RequestBody SchoolXteacherAwardsVo schoolXteacherAwardsVo)
{
int i = 0;
schoolXteacherAwardsVo.setUserId(SecurityUtils.getUserId());
List<SchoolXteacherAwardsVo> list = schoolXteacherAwardsService.selectSchoolXteacherAwardsList(schoolXteacherAwardsVo);
for (SchoolXteacherAwardsVo xteacherAwardsVo : list) {
i ++;
xteacherAwardsVo.setXh(i);
xteacherAwardsVo.setGrowthType("教学获奖");
}
ExcelUtil<SchoolXteacherAwardsVo> util = new ExcelUtil<SchoolXteacherAwardsVo>(SchoolXteacherAwardsVo.class);
util.exportExcel(response, list, "教师获奖数据");
}
/**
* 导出教师获奖列表 * 导出教师获奖列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:awards:export')")
@Log(title = "教师获奖", businessType = BusinessType.EXPORT) @Log(title = "教师获奖", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolXteacherAwards schoolXteacherAwards) public void export(HttpServletResponse response,@RequestBody SchoolXteacherAwardsVo schoolXteacherAwardsVo)
{ {
List<SchoolXteacherAwards> list = schoolXteacherAwardsService.selectSchoolXteacherAwardsList(schoolXteacherAwards); int i = 0;
ExcelUtil<SchoolXteacherAwards> util = new ExcelUtil<SchoolXteacherAwards>(SchoolXteacherAwards.class); List<SchoolXteacherAwardsVo> list = schoolXteacherAwardsService.selectSchoolXteacherAwardsList(schoolXteacherAwardsVo);
for (SchoolXteacherAwardsVo xteacherAwardsVo : list) {
i ++;
xteacherAwardsVo.setXh(i);
xteacherAwardsVo.setGrowthType("教学获奖");
}
ExcelUtil<SchoolXteacherAwardsVo> util = new ExcelUtil<SchoolXteacherAwardsVo>(SchoolXteacherAwardsVo.class);
util.exportExcel(response, list, "教师获奖数据"); util.exportExcel(response, list, "教师获奖数据");
} }
/** /**
* 获取教师获奖详细信息 * 获取教师获奖详细信息
*/ */
// @PreAuthorize("@ss.hasPermi('system:awards:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
...@@ -68,6 +114,7 @@ public class SchoolXteacherAwardsController extends BaseController ...@@ -68,6 +114,7 @@ public class SchoolXteacherAwardsController extends BaseController
/** /**
* 新增教师获奖 * 新增教师获奖
*/ */
// @PreAuthorize("@ss.hasPermi('system:awards:add')")
@Log(title = "教师获奖", businessType = BusinessType.INSERT) @Log(title = "教师获奖", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody SchoolXteacherAwards schoolXteacherAwards) public AjaxResult add(@RequestBody SchoolXteacherAwards schoolXteacherAwards)
...@@ -78,6 +125,7 @@ public class SchoolXteacherAwardsController extends BaseController ...@@ -78,6 +125,7 @@ public class SchoolXteacherAwardsController extends BaseController
/** /**
* 修改教师获奖 * 修改教师获奖
*/ */
// @PreAuthorize("@ss.hasPermi('system:awards:edit')")
@Log(title = "教师获奖", businessType = BusinessType.UPDATE) @Log(title = "教师获奖", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody SchoolXteacherAwards schoolXteacherAwards) public AjaxResult edit(@RequestBody SchoolXteacherAwards schoolXteacherAwards)
...@@ -88,10 +136,20 @@ public class SchoolXteacherAwardsController extends BaseController ...@@ -88,10 +136,20 @@ public class SchoolXteacherAwardsController extends BaseController
/** /**
* 删除教师获奖 * 删除教师获奖
*/ */
// @PreAuthorize("@ss.hasPermi('system:awards:remove')")
@Log(title = "教师获奖", businessType = BusinessType.DELETE) @Log(title = "教师获奖", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids)
{ {
return toAjax(schoolXteacherAwardsService.deleteSchoolXteacherAwardsByIds(ids)); return toAjax(schoolXteacherAwardsService.deleteSchoolXteacherAwardsByIds(ids));
} }
/**
* 审核
*/
// @PreAuthorize("@ss.hasPermi('system:awards:audit')")
@PostMapping("/audit")
public AjaxResult audit(@RequestBody SchoolXteacherAwards schoolXteacherAwards){
return toAjax(schoolXteacherAwardsService.audit(schoolXteacherAwards));
}
} }
package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.controller.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
...@@ -18,8 +22,11 @@ import com.ruoyi.common.core.domain.AjaxResult; ...@@ -18,8 +22,11 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteachingAchievementsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteachingAchievementsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteachingAchievementsVo;
/** /**
* 教学成绩Controller * 教学成绩Controller
...@@ -37,29 +44,61 @@ public class SchoolXteachingAchievementsController extends BaseController ...@@ -37,29 +44,61 @@ public class SchoolXteachingAchievementsController extends BaseController
/** /**
* 查询教学成绩列表 * 查询教学成绩列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:achievements:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SchoolXteachingAchievements schoolXteachingAchievements) public TableDataInfo list(SchoolXteachingAchievementsVo schoolXteachingAchievementsVo)
{ {
startPage(); startPage();
List<SchoolXteachingAchievements> list = schoolXteachingAchievementsService.selectSchoolXteachingAchievementsList(schoolXteachingAchievements); List<SchoolXteachingAchievementsVo> list = schoolXteachingAchievementsService.selectSchoolXteachingAchievementsList(schoolXteachingAchievementsVo);
return getDataTable(list); return getDataTable(list);
} }
/** /**
* 导出教学成绩列表 * 导出教学成绩列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:achievements:export')")
@Log(title = "教学成绩", businessType = BusinessType.EXPORT) @Log(title = "教学成绩", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SchoolXteachingAchievements schoolXteachingAchievements) public void export(HttpServletResponse response, @RequestBody SchoolXteachingAchievementsVo schoolXteachingAchievementsVo)
{ {
List<SchoolXteachingAchievements> list = schoolXteachingAchievementsService.selectSchoolXteachingAchievementsList(schoolXteachingAchievements); int i = 0;
ExcelUtil<SchoolXteachingAchievements> util = new ExcelUtil<SchoolXteachingAchievements>(SchoolXteachingAchievements.class); List<SchoolXteachingAchievementsVo> list = schoolXteachingAchievementsService.selectSchoolXteachingAchievementsList(schoolXteachingAchievementsVo);
for (SchoolXteachingAchievementsVo schoolXteachingAchievementsVo1 : list) {
i ++;
schoolXteachingAchievementsVo1.setXh(i);
}
ExcelUtil<SchoolXteachingAchievementsVo> util = new ExcelUtil<SchoolXteachingAchievementsVo>(SchoolXteachingAchievementsVo.class);
util.exportExcel(response, list, "教学成绩数据"); util.exportExcel(response, list, "教学成绩数据");
} }
/*
* 下载模板
* */
@PostMapping("/importTemplate")
public void importTemplate (HttpServletResponse response) {
schoolXteachingAchievementsService.importTemplate(response);
}
/**
* 导入教学成绩
*/
// @PreAuthorize("@ss.hasPermi('system:achievements:importData')")
@PostMapping("/importData")
@Transactional(rollbackFor = Exception.class)
public AjaxResult importData(MultipartFile file) throws Exception {
ExcelUtil<SchoolXteachingAchievements> util = new ExcelUtil<SchoolXteachingAchievements>(SchoolXteachingAchievements.class);
List<SchoolXteachingAchievements> list = util.importExcelNdkh(file.getInputStream());
//先校验
schoolXteachingAchievementsService.checkImport(list);
//数据导入
String message = schoolXteachingAchievementsService.importData(list);
return AjaxResult.success(message);
}
/** /**
* 获取教学成绩详细信息 * 获取教学成绩详细信息
*/ */
// @PreAuthorize("@ss.hasPermi('system:achievements:query')")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) public AjaxResult getInfo(@PathVariable("id") Long id)
{ {
...@@ -69,6 +108,7 @@ public class SchoolXteachingAchievementsController extends BaseController ...@@ -69,6 +108,7 @@ public class SchoolXteachingAchievementsController extends BaseController
/** /**
* 新增教学成绩 * 新增教学成绩
*/ */
// @PreAuthorize("@ss.hasPermi('system:achievements:add')")
@Log(title = "教学成绩", businessType = BusinessType.INSERT) @Log(title = "教学成绩", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody SchoolXteachingAchievements schoolXteachingAchievements) public AjaxResult add(@RequestBody SchoolXteachingAchievements schoolXteachingAchievements)
...@@ -79,6 +119,7 @@ public class SchoolXteachingAchievementsController extends BaseController ...@@ -79,6 +119,7 @@ public class SchoolXteachingAchievementsController extends BaseController
/** /**
* 修改教学成绩 * 修改教学成绩
*/ */
// @PreAuthorize("@ss.hasPermi('system:achievements:edit')")
@Log(title = "教学成绩", businessType = BusinessType.UPDATE) @Log(title = "教学成绩", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody SchoolXteachingAchievements schoolXteachingAchievements) public AjaxResult edit(@RequestBody SchoolXteachingAchievements schoolXteachingAchievements)
...@@ -89,10 +130,21 @@ public class SchoolXteachingAchievementsController extends BaseController ...@@ -89,10 +130,21 @@ public class SchoolXteachingAchievementsController extends BaseController
/** /**
* 删除教学成绩 * 删除教学成绩
*/ */
// @PreAuthorize("@ss.hasPermi('system:achievements:remove')")
@Log(title = "教学成绩", businessType = BusinessType.DELETE) @Log(title = "教学成绩", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) public AjaxResult remove(@PathVariable Long[] ids)
{ {
return toAjax(schoolXteachingAchievementsService.deleteSchoolXteachingAchievementsByIds(ids)); return toAjax(schoolXteachingAchievementsService.deleteSchoolXteachingAchievementsByIds(ids));
} }
/**
* 获取所有用户
*/
@GetMapping("/getUserList")
public TableDataInfo getUserList(SysUser sysUser){
startPage();
List<Map<String, Object>> list = schoolXteachingAchievementsService.getUserList(sysUser);
return getDataTable(list);
}
} }
...@@ -40,7 +40,6 @@ public class CurriclaStudentVo { ...@@ -40,7 +40,6 @@ public class CurriclaStudentVo {
/** 结束时间 */ /** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime; private Date endTime;
/** /**
* 是否超过选课时间: true超过选课时间,false没有 * 是否超过选课时间: true超过选课时间,false没有
*/ */
......
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 班主任考核对象 school_aclass_teacher_assessment
*
* @author ruoyi
* @date 2023-12-12
*/
@Data
public class SchoolAclassTeacherAssessment extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/** 学期(下拉框) */
@Excel(name = "学期",dictType = "semester_jsdzda")
private String semester;
/** 届别(下拉框) */
@Excel(name = "届别",dictType = "rankda")
private String year;
/** 学年(下拉框) */
@Excel(name = "学年",dictType = "yearda")
private String schoolYear;
/** 年级(下拉框) */
@Excel(name = "年级",dictType = "grade_da")
private String grade;
/** 班级(下拉框) */
@Excel(name = "班级",readConverterExp="1=1,2=2,3=3,4=4,5=5,6=6,7=7,8=8,9=9,10=10,11=11,12=12,13=13,14=14,15=15,16=16,17=17,18=18,19=19,20=20,21=21,22=22,23=23,24=24,25=25,26=26,27=27,28=28,29=29,30=30,31=31,32=32,33=33,34=34,35=35,36=36,37=37,38=38,39=39,40=40")
private String className;
/** 教师姓名 */
@Excel(name = "教师姓名")
private String teacherName;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 德育考核成绩 */
@Excel(name = "德育考核成绩")
private BigDecimal moralEduCheckAchievement;
/** 智育考核成绩 */
@Excel(name = "智育考核成绩")
private BigDecimal intellEduCheckAchievement;
/** 总考核成绩 */
@Excel(name = "总考核成绩")
private BigDecimal totalCheckAchievement;
/** 班级类型(下拉框) */
@Excel(name = "班级类型",dictType = "class_type")
private String classType;
/** 学科(下拉框) */
@Excel(name = "学科",dictType = "teaching_subjects")
private String sub;
/** 备注*/
@Excel(name = "备注")
private String remark;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
/**
* 请求对象
*
* @author ruoyi
* @date 2023-12-12
*/
@Data
public class SchoolAclassTeacherAssessmentReq extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 教师姓名 */
private String teacherName;
/** 学年(下拉框) */
private String schoolYear;
/** 届别(下拉框) */
private String year;
/** 学期(下拉框) */
private String semester;
/** 年级(下拉框) */
private String grade;
/** 学科(下拉框) */
private String sub;
/** 班级(下拉框) */
private String className;
/** 班级类型(下拉框) */
private String classType;
/** 德育考核成绩 =*/
private String moralEduCheckAchievement;
//大于
private BigDecimal moralEduCheckAchievementgt;
//大于等于
private BigDecimal moralEduCheckAchievementgtd;
//小于
private BigDecimal moralEduCheckAchievementlt;
//小于等于
private BigDecimal moralEduCheckAchievementltd;
/** 智育考核成绩= */
private String intellEduCheckAchievement;
//大于
private BigDecimal intellEduCheckAchievementgt;
//大于等于
private BigDecimal intellEduCheckAchievementgtd;
//小于
private BigDecimal intellEduCheckAchievementlt;
//小于等于
private BigDecimal intellEduCheckAchievementltd;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
/**
* 班主任考核对象 school_aclass_teacher_assessment
*
* @author ruoyi
* @date 2023-12-12
*/
@Data
public class SchoolAclassTeacherAssessmentVo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/** 学期(下拉框) */
private String semester;
/** 届别(下拉框) */
private String year;
/** 学年(下拉框) */
private String schoolYear;
/** 年级(下拉框) */
private String grade;
/** 班级(下拉框) */
@Excel(name = "班级",readConverterExp="1=1,2=2,3=3,4=4,5=5,6=6,7=7,8=8,9=9,10=10,11=11,12=12,13=13,14=14,15=15,16=16,17=17,18=18,19=19,20=20,21=21,22=22,23=23,24=24,25=25,26=26,27=27,28=28,29=29,30=30,31=31,32=32,33=33,34=34,35=35,36=36,37=37,38=38,39=39,40=40")
private String className;
/** 班级类型(下拉框) */
private String classType;
/** 教师姓名 */
private String teacherName;
/** 学科(下拉框) */
private String sub;
/** 德育考核成绩 */
private BigDecimal moralEduCheckAchievement;
/** 智育考核成绩 */
private BigDecimal intellEduCheckAchievement;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 工作量信息对象 school_aworkload
*
* @author ruoyi
* @date 2023-12-11
*/
@Data
public class SchoolAworkload extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/** 学年(下拉框) */
private String schoolYear;
/** 学期(下拉框) */
private String semester;
/** 届别(下拉框) */
private String year;
/** 年级(下拉框) */
private String grade;
/** 姓名 */
private String name;
/** 学科(下拉框) */
private String sub;
/** 身份证号 */
private String idCard;
/** 聘任岗位(下拉框) */
private String appointmentPost;
/** 聘任职务 */
private String appointmentPosition;
/** 聘任情况(下拉框) */
private String appointmentSituation;
/** 班级 */
private String className;
/** 班级类型 */
private String classType;
/** 早读 */
private Long earlyReading;
/** 正课 */
private Long requiredCourses;
/** 晚自习 */
private Long eveningSelfStudy;
/** 证明人id */
private Long userId;
/** 证明人 */
private String userName;
/** 删除状态 */
private String delFlag;
/**合计*/
private Long amountTo;
}
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 工作量信息对象 school_aworkload
*
* @author ruoyi
* @date 2023-12-11
*/
@Data
public class SchoolAworkloadExport extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 学年(下拉框) */
@Excel(name = "学年",dictType="yearda")
private String schoolYear;
/** 学期(下拉框) */
@Excel(name = "学期",dictType="semester_jsdzda")
private String semester;
/** 届别(下拉框) */
@Excel(name = "届别",dictType = "rankda")
private String year;
/** 年级(下拉框) */
@Excel(name = "年级",dictType="grade_da")
private String grade;
/** 姓名 */
@Excel(name = "姓名")
private String name;
/** 学科(下拉框) */
@Excel(name = "学科",dictType = "teaching_subjects")
private String sub;
/** 身份证号 */
@Excel(name = "身份证号")
private String idCard;
/** 聘任岗位(下拉框) */
@Excel(name = "聘任岗位",dictType = "appointment_positions")
private String appointmentPost;
/** 聘任职务 */
@Excel(name = "聘任职务")
private String appointmentPosition;
/** 聘任情况(下拉框) */
@Excel(name = "聘任情况",dictType = "appointment_situation")
private String appointmentSituation;
/** 班级 */
@Excel(name = "班级",prompt="多个,中间用英文“,”间隔")
private String className;
/** 班级类型 */
@Excel(name = "班级类型")
private String classType;
/** 早读 */
@Excel(name = "早读")
private Long earlyReading;
/** 正课 */
@Excel(name = "正课")
private Long requiredCourses;
/** 晚自习 */
@Excel(name = "晚自习")
private Long eveningSelfStudy;
/**合计*/
@Excel(name = "合计")
private Long amountTo;
/** 证明人id */
private Long userId;
/** 证明人 */
@Excel(name = "证明人")
private String userName;
@Excel(name = "备注")
private String remark;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 工作量信息对象 school_aworkload
*
* @author ruoyi
* @date 2023-12-11
*/
@Data
public class SchoolAworkloadVo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 学年(下拉框) */
private String schoolYear;
/** 学期(下拉框) */
private String semester;
/** 届别(下拉框) */
private String year;
/** 年级(下拉框) */
private String grade;
/** 姓名 */
private String name;
/** 学科(下拉框) */
private String sub;
/** 聘任岗位(下拉框) */
private String appointmentPost;
/** 聘任职务 */
private String appointmentPosition;
/** 聘任情况(下拉框) */
private String appointmentSituation;
/** 班级 */
private String className;
/** 班级类型 */
private String classType;
/** 早读 */
private Long earlyReading;
/** 正课 */
private Long requiredCourses;
/** 晚自习 */
private Long eveningSelfStudy;
/**合计*/
private Long amountTo;
/** 证明人id */
private Long userId;
/** 证明人 */
private String userName;
/** 删除状态 */
private String delFlag;
}
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.NonNull;
import java.util.Date;
/**
* 教师电子档案 老师基础信息
*/
@Data
public class SchoolTeacherBasicInformation extends BaseEntity {
// @Excel(name = "年级",combo = {"一年级","二年级","三年级"},readConverterExp = "1=一年级,2=二年级,3=三年级")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 年龄 。动态查询
*/
// private Integer age;
/**
* 性别
*/
private String sex;
/**
* 档案出生日期 (年月)
*/
@JsonFormat(pattern = "yyyy-MM")
private Date fileBirthDate;
/**
* 档案年龄
*/
// private Integer fileAge;
/**
* 出生年月
*/
private String birthDate;
/**
* 籍贯
*/
private String hometown;
/**
* 民族
*/
private String nation;
/**
* 政治面貌(1中共党员、2共青团员、3群众、4民主党派成员、5无党派人士)
*/
private String politicalLandscape;
/**
* 入党时间(年月)
*/
@JsonFormat(pattern = "yyyy-MM")
private Date partyMembershipTime;
/**
* 任教学科(1语文、2数学、3英语、4物理、5化学、6生物、7政治、8历史、9地理、10音乐、11体育、12美术、13技术、14心理、15书法)
*/
private String teachingSubject;
/**
* 现职称(1无、2初级、3中级、4副高、5正高)
*/
private String currentProfessionalTitle;
/**
* 现职称取得资格时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date currentProfessionalTitleTime;
/**
* 现聘职称(1无、2初级、3中级、4副高、5正高)
*/
private String currentHiringProfessionalTitle;
/**
* 现职称聘任时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date currentHiringProfessionalTitleTime;
/**
* 现聘岗位(1专业技术岗、2管理岗、3工勤岗)
*/
private String currentPosition;
/**
* 现岗位等级(见习(三个现聘岗位都有见习这个等级 下拉框联动)、专业技术三级-专业技术十三级、
* 管理五级-管理九级、技术工二级-技术工五级)
*/
private String currentJobLevel;
/**
* 现岗位等级聘任时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date currentJobLevelAppointmentTime;
/**
* 职务
*/
private String duties;
/**
* 教师资格种类
*/
private String teacherQualificationType;
/**
* 教师资格证号码
*/
private String teacherQualificationCertificateNum;
/**
* 参加工作时间
*/
private String workingHours;
/**
* 到二中工作时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date toSecondMiddleSchoolTime;
/**
* 二中工作年龄 动态查询
*/
// private Integer toSecondAge;
/**
* 教龄起算时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date lengthOfTeacherTime;
/**
* 工龄起算时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date lengthOfServiceTime;
/**
* 工龄年限
*/
// private Integer seniority;
/**
* 在岗情况(1教学岗位、2教辅岗、3后勤岗、4管理岗、5其他岗、6退休、7行政、8内退岗、9待退岗)
*/
private String onDutySituation;
/**
* 在编情况 1在编 2合同制
*/
private String currentSituation;
/**
* 毕业院校1
*/
private String graduationInstitution1;
/**
* 专业1
*/
private String major1;
/**
* 毕业时间1 年月
*/
@JsonFormat(pattern = "yyyy-MM")
private Date graduationTime1;
/**
* 毕业院校2
*/
private String graduationInstitution2;
/**
* 专业2
*/
private String major2;
/**
* 毕业时间2年月
*/
@JsonFormat(pattern = "yyyy-MM")
private Date graduationTime2;
/**
* 毕业院校3
*/
private String graduationInstitution3;
/**
* 专业3
*/
private String major3;
/**
* 毕业时间3 年月
*/
@JsonFormat(pattern = "yyyy-MM")
private Date graduationTime3;
/**
* 第一学历
*/
private String firstDegree;
/**
* 最后学历
*/
private String lastDegree;
/**
* 学位
*/
private String degree;
/**
* 工作经历
*/
private String workExperience;
/**
* 照片名称
*/
private String photoName;
/**
* 照片地址
*/
private String photoUrl;
/**
* 钉钉手机号
*/
private String ddPhone;
//
// /**
// * 出生日期临时查询参数
// */
// private String birthDategt;
// private String birthDategtd;
// private String birthDatelt;
// private String birthDateltd;
//
// /**
// * 参加工作临时查询参数
// */
// private String workingHoursgt;
// private String workingHoursgtd;
// private String workingHourslt;
// private String workingHoursltd;
}
package yangtz.cs.liu.campus.domain.teacherFiles; package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.core.domain.OurBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.NonNull;
import java.util.Date; import java.util.Date;
...@@ -15,7 +12,7 @@ import java.util.Date; ...@@ -15,7 +12,7 @@ import java.util.Date;
* 教师电子档案 老师基础信息 * 教师电子档案 老师基础信息
*/ */
@Data @Data
public class SchoolTeacherBasicInformation extends BaseEntity { public class SchoolTeacherBasicInformationVo extends BaseEntity {
// @Excel(name = "年级",combo = {"一年级","二年级","三年级"},readConverterExp = "1=一年级,2=二年级,3=三年级") // @Excel(name = "年级",combo = {"一年级","二年级","三年级"},readConverterExp = "1=一年级,2=二年级,3=三年级")
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
......
package yangtz.cs.liu.campus.domain.teacherFiles; package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import lombok.Data; import lombok.Data;
......
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
...@@ -18,22 +20,25 @@ public class SchoolXacademicWorks ...@@ -18,22 +20,25 @@ public class SchoolXacademicWorks
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 主键id */ /** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** 学科 */ /** 学科 */
@Excel(name = "学科") @Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub; private String sub;
/** 获奖类别 */ /** 获奖类别 */
@Excel(name = "获奖类别") @Excel(name = "获奖类别",combo = {"论著-独著","论文-公开发表","论著-合著(编者)","论文-核心期刊","论著-合著(主编)","论著-合著(副主编)","其他"},
readConverterExp = "1=论著-独著,2=论文-公开发表,3=论著-合著(编者),4=论文-核心期刊,5=论著-合著(主编),6=论著-合著(副主编),7=其他")
private String awardType; private String awardType;
/** 获奖级别 */ /** 获奖级别 */
@Excel(name = "获奖级别") @Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank; private String awardRank;
/** 获奖等级 */ /** 获奖等级 */
@Excel(name = "获奖等级") @Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel; private String awardLevel;
/** 成果名称 */ /** 成果名称 */
...@@ -44,7 +49,7 @@ public class SchoolXacademicWorks ...@@ -44,7 +49,7 @@ public class SchoolXacademicWorks
private Long userId; private Long userId;
/** 获奖人 */ /** 获奖人 */
@Excel(name = "获奖") @Excel(name = "获奖")
private String userName; private String userName;
/** 主办单位 */ /** 主办单位 */
...@@ -66,6 +71,9 @@ public class SchoolXacademicWorks ...@@ -66,6 +71,9 @@ public class SchoolXacademicWorks
/** 证书图片地址 */ /** 证书图片地址 */
private String pictureUrl; private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */ /** 创建者 */
private String createBy; private String createBy;
......
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
...@@ -17,10 +20,12 @@ public class SchoolXcomprehensiveHonors ...@@ -17,10 +20,12 @@ public class SchoolXcomprehensiveHonors
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 主键id */ /** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** 学科(下拉框) */ /** 学科(下拉框) */
@Excel(name = "学科") @Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub; private String sub;
/** 获奖类别 */ /** 获奖类别 */
...@@ -28,11 +33,11 @@ public class SchoolXcomprehensiveHonors ...@@ -28,11 +33,11 @@ public class SchoolXcomprehensiveHonors
private String awardType; private String awardType;
/** 获奖级别(下拉框) */ /** 获奖级别(下拉框) */
@Excel(name = "获奖级别") @Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank; private String awardRank;
/** 获奖等级(下拉框) */ /** 获奖等级(下拉框) */
@Excel(name = "获奖等级") @Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel; private String awardLevel;
/** 成果名称 */ /** 成果名称 */
...@@ -43,7 +48,7 @@ public class SchoolXcomprehensiveHonors ...@@ -43,7 +48,7 @@ public class SchoolXcomprehensiveHonors
private Long userId; private Long userId;
/** 获奖人 */ /** 获奖人 */
@Excel(name = "获奖") @Excel(name = "获奖")
private String userName; private String userName;
/** 主办单位 */ /** 主办单位 */
...@@ -51,7 +56,8 @@ public class SchoolXcomprehensiveHonors ...@@ -51,7 +56,8 @@ public class SchoolXcomprehensiveHonors
private String org; private String org;
/** 获奖时间(年月日) */ /** 获奖时间(年月日) */
@Excel(name = "获奖时间", readConverterExp = "年=月日") @Excel(name = "获奖时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date awardTime; private Date awardTime;
/** 备注 */ /** 备注 */
...@@ -64,6 +70,9 @@ public class SchoolXcomprehensiveHonors ...@@ -64,6 +70,9 @@ public class SchoolXcomprehensiveHonors
/** 证书图片地址 */ /** 证书图片地址 */
private String pictureUrl; private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */ /** 创建者 */
private String createBy; private String createBy;
......
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
...@@ -18,22 +20,24 @@ public class SchoolXlectureAwards ...@@ -18,22 +20,24 @@ public class SchoolXlectureAwards
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 主键id */ /** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** 学科 */ /** 学科 */
@Excel(name = "学科") @Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub; private String sub;
/** 获奖类别 */ /** 获奖类别 */
@Excel(name = "获奖类别") @Excel(name = "获奖类别",combo = {"优质课","公开课","优课","其他","说课","经验介绍","示范课"},readConverterExp = "1=优质课,2=公开课,3=优课,4=其他,5=说课,6=经验介绍,7=示范课")
private String awardType; private String awardType;
/** 获奖级别 */ /** 获奖级别 */
@Excel(name = "获奖级别") @Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank; private String awardRank;
/** 获奖等级 */ /** 获奖等级 */
@Excel(name = "获奖等级") @Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel; private String awardLevel;
/** 成果名称 */ /** 成果名称 */
...@@ -41,11 +45,10 @@ public class SchoolXlectureAwards ...@@ -41,11 +45,10 @@ public class SchoolXlectureAwards
private String resultName; private String resultName;
/** 获奖人id */ /** 获奖人id */
@Excel(name = "获奖人id")
private Long userId; private Long userId;
/** 获奖人 */ /** 获奖人 */
@Excel(name = "获奖") @Excel(name = "获奖")
private String userName; private String userName;
/** 主办单位 */ /** 主办单位 */
...@@ -67,6 +70,9 @@ public class SchoolXlectureAwards ...@@ -67,6 +70,9 @@ public class SchoolXlectureAwards
/** 证书图片地址 */ /** 证书图片地址 */
private String pictureUrl; private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */ /** 创建者 */
private String createBy; private String createBy;
......
...@@ -2,7 +2,9 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn; ...@@ -2,7 +2,9 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
...@@ -22,22 +24,26 @@ public class SchoolXteacherAwards ...@@ -22,22 +24,26 @@ public class SchoolXteacherAwards
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 主键id */ /** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** 学科 */ /** 学科 */
@Excel(name = "学科") @Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub; private String sub;
/** 获奖类别 */ /** 获奖类别 */
@Excel(name = "获奖类别") @Excel(name = "获奖类别",combo = {"学科带头人","教学能手","教学科研专家","教学科研成果","增量优秀班主任","高考功勋班主任","教学资源","其他","高考功勋教师",
"增量优秀教师","市高考评奖"},readConverterExp = "1=学科带头人,2=教学能手,3=教学科研专家,4=教学科研成果,5=增量优秀班主任,6=高考功勋班主任,7=教学资源," +
"8=其他,9=高考功勋教师,10=增量优秀教师,11=市高考评奖")
private String awardType; private String awardType;
/** 获奖级别 */ /** 获奖级别 */
@Excel(name = "获奖级别") @Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank; private String awardRank;
/** 获奖等级 */ /** 获奖等级 */
@Excel(name = "获奖等级") @Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel; private String awardLevel;
/** 成果名称 */ /** 成果名称 */
...@@ -48,7 +54,7 @@ public class SchoolXteacherAwards ...@@ -48,7 +54,7 @@ public class SchoolXteacherAwards
private Long userId; private Long userId;
/** 获奖人 */ /** 获奖人 */
@Excel(name = "获奖") @Excel(name = "获奖")
private String userName; private String userName;
/** 主办单位 */ /** 主办单位 */
...@@ -70,6 +76,9 @@ public class SchoolXteacherAwards ...@@ -70,6 +76,9 @@ public class SchoolXteacherAwards
/** 证书图片地址 */ /** 证书图片地址 */
private String pictureUrl; private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */ /** 创建者 */
private String createBy; private String createBy;
......
...@@ -3,13 +3,11 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn; ...@@ -3,13 +3,11 @@ package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/** /**
* 教学成绩对象 school_xteaching_achievements * 教学成绩对象 school_xteaching_achievements
...@@ -23,14 +21,16 @@ public class SchoolXteachingAchievements ...@@ -23,14 +21,16 @@ public class SchoolXteachingAchievements
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 主键id */ /** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
/** 学年(下拉框) */ /** 学年(下拉框) */
@Excel(name = "学年(下拉框)") @Excel(name = "学年",combo = {"2018-2019","2019-2020","2020-2021","2021-2022","2022-2023","2023-2024","2024-2025","2025-2026",
"2026-2027","2027-2028","2028-2029","2029-2030","2030-2031","2031-2032","2032-2033"})
private String schoolYear; private String schoolYear;
/** 学期(下拉框) */ /** 学期(下拉框) */
@Excel(name = "学期") @Excel(name = "学期",combo = {"第一学期","第二学期"}, readConverterExp = "1=第一学期,2=第二学期")
private String semester; private String semester;
/** 考试时间(年月日) */ /** 考试时间(年月日) */
...@@ -39,23 +39,23 @@ public class SchoolXteachingAchievements ...@@ -39,23 +39,23 @@ public class SchoolXteachingAchievements
private Date examTime; private Date examTime;
/** 考试类型(下拉框) */ /** 考试类型(下拉框) */
@Excel(name = "考试类型") @Excel(name = "考试类型",combo = {"月考","期中","期末","一模","二模","三模","高考","其它"},
readConverterExp = "1=月考,2=期中,3=期末,4=一模,5=二模,6=三模,7=高考,8=其它")
private String examType; private String examType;
/** 届别(下拉框) */ /** 届别(下拉框) */
@Excel(name = "届别(下拉框)") @Excel(name = "届别", combo = {"2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033"})
private String year; private String year;
/** 年级(下拉框) */ /** 年级(下拉框) */
@Excel(name = "年级") @Excel(name = "年级", combo = {"高一","高二","高三"},readConverterExp = "1=高一,2=高二,3=高三")
private String grade; private String grade;
/** 用户id */ /** 用户id */
@Excel(name = "用户id")
private Long userId; private Long userId;
/** 用户姓名 */ /** 用户姓名 */
@Excel(name = "用户姓名") @Excel(name = "姓名")
private String userName; private String userName;
/** 身份证号 */ /** 身份证号 */
...@@ -63,7 +63,8 @@ public class SchoolXteachingAchievements ...@@ -63,7 +63,8 @@ public class SchoolXteachingAchievements
private String idCard; private String idCard;
/** 学科 */ /** 学科 */
@Excel(name = "学科") @Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub; private String sub;
/** 班级 */ /** 班级 */
...@@ -93,7 +94,6 @@ public class SchoolXteachingAchievements ...@@ -93,7 +94,6 @@ public class SchoolXteachingAchievements
private Date updateTime; private Date updateTime;
/** 备注 */ /** 备注 */
@Excel(name = "备注")
private String remark; private String remark;
/** 删除状态 */ /** 删除状态 */
......
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentReq;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo;
import java.util.List;
/**
* 班主任考核Mapper接口
*
* @author ruoyi
* @date 2023-12-12
*/
public interface SchoolAclassTeacherAssessmentMapper extends BaseMapper<SchoolAclassTeacherAssessment>
{
/**
* 查询班主任考核
*
* @param id 班主任考核主键
* @return 班主任考核
*/
public SchoolAclassTeacherAssessment selectSchoolAclassTeacherAssessmentById(Long id);
/**
* 查询班主任考核列表
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 班主任考核集合
*/
public List<SchoolAclassTeacherAssessmentVo> selectSchoolAclassTeacherAssessmentList(SchoolAclassTeacherAssessmentReq req);
public List<SchoolAclassTeacherAssessment> selectSchoolList(SchoolAclassTeacherAssessmentReq req);
/**
* 新增班主任考核
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 结果
*/
public int insertSchoolAclassTeacherAssessment(SchoolAclassTeacherAssessment schoolAclassTeacherAssessment);
/**
* 修改班主任考核
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 结果
*/
public int updateSchoolAclassTeacherAssessment(SchoolAclassTeacherAssessment schoolAclassTeacherAssessment);
/**
* 删除班主任考核
*
* @param id 班主任考核主键
* @return 结果
*/
public int deleteSchoolAclassTeacherAssessmentById(Long id);
/**
* 批量删除班主任考核
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolAclassTeacherAssessmentByIds(Long[] ids);
}
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkload;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo;
import java.util.List;
/**
* 工作量信息Mapper接口
*
* @author ruoyi
* @date 2023-12-11
*/
public interface SchoolAworkloadMapper extends BaseMapper<SchoolAworkload>
{
/**
* 查询工作量信息
*
* @param id 工作量信息主键
* @return 工作量信息
*/
public SchoolAworkload selectSchoolAworkloadById(Long id);
/**
* 查询工作量信息列表
*
* @param schoolAworkload 工作量信息
* @return 工作量信息集合
*/
public List<SchoolAworkloadVo> selectSchoolAworkloadList(SchoolAworkload schoolAworkload);
public List<SchoolAworkloadExport> selectAworkloadList(SchoolAworkload schoolAworkload);
/**
* 新增工作量信息
*
* @param schoolAworkload 工作量信息
* @return 结果
*/
public int insertSchoolAworkload(SchoolAworkload schoolAworkload);
/**
* 修改工作量信息
*
* @param schoolAworkload 工作量信息
* @return 结果
*/
public int updateSchoolAworkload(SchoolAworkload schoolAworkload);
/**
* 删除工作量信息
*
* @param id 工作量信息主键
* @return 结果
*/
public int deleteSchoolAworkloadById(Long id);
/**
* 批量删除工作量信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteSchoolAworkloadByIds(Long[] ids);
}
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformation;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo;
import java.util.List;
public interface SchoolTeacherBasichlnformationMapper extends BaseMapper<SchoolTeacherBasicInformation> {
List<SchoolTeacherBasicInformationVo> list(SchoolTeacherBasicInformationVo information);
SchoolTeacherBasicInformationVo selectById(Long id);
int updateInformationById(SchoolTeacherBasicInformation information);
}
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXacademicWorksVo;
import java.util.List; import java.util.List;
/** /**
...@@ -17,15 +19,15 @@ public interface SchoolXacademicWorksMapper ...@@ -17,15 +19,15 @@ public interface SchoolXacademicWorksMapper
* @param id 论文著作主键 * @param id 论文著作主键
* @return 论文著作 * @return 论文著作
*/ */
public SchoolXacademicWorks selectSchoolXacademicWorksById(Long id); public SchoolXacademicWorksVo selectSchoolXacademicWorksById(Long id);
/** /**
* 查询论文著作列表 * 查询论文著作列表
* *
* @param schoolXacademicWorks 论文著作 * @param schoolXacademicWorksVo 论文著作
* @return 论文著作集合 * @return 论文著作集合
*/ */
public List<SchoolXacademicWorks> selectSchoolXacademicWorksList(SchoolXacademicWorks schoolXacademicWorks); public List<SchoolXacademicWorksVo> selectSchoolXacademicWorksList(SchoolXacademicWorksVo schoolXacademicWorksVo);
/** /**
* 新增论文著作 * 新增论文著作
......
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsVo;
import java.util.List; import java.util.List;
/** /**
...@@ -17,15 +19,15 @@ public interface SchoolXcomprehensiveHonorsMapper ...@@ -17,15 +19,15 @@ public interface SchoolXcomprehensiveHonorsMapper
* @param id 综合荣誉主键 * @param id 综合荣誉主键
* @return 综合荣誉 * @return 综合荣誉
*/ */
public SchoolXcomprehensiveHonors selectSchoolXcomprehensiveHonorsById(Long id); public SchoolXcomprehensiveHonorsVo selectSchoolXcomprehensiveHonorsById(Long id);
/** /**
* 查询综合荣誉列表 * 查询综合荣誉列表
* *
* @param schoolXcomprehensiveHonors 综合荣誉 * @param schoolXcomprehensiveHonorsVo 综合荣誉
* @return 综合荣誉集合 * @return 综合荣誉集合
*/ */
public List<SchoolXcomprehensiveHonors> selectSchoolXcomprehensiveHonorsList(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors); public List<SchoolXcomprehensiveHonorsVo> selectSchoolXcomprehensiveHonorsList(SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo);
/** /**
* 新增综合荣誉 * 新增综合荣誉
......
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXlectureAwardsVo;
import java.util.List; import java.util.List;
...@@ -18,15 +19,15 @@ public interface SchoolXlectureAwardsMapper ...@@ -18,15 +19,15 @@ public interface SchoolXlectureAwardsMapper
* @param id 讲课获奖主键 * @param id 讲课获奖主键
* @return 讲课获奖 * @return 讲课获奖
*/ */
public SchoolXlectureAwards selectSchoolXlectureAwardsById(Long id); public SchoolXlectureAwardsVo selectSchoolXlectureAwardsById(Long id);
/** /**
* 查询讲课获奖列表 * 查询讲课获奖列表
* *
* @param schoolXlectureAwards 讲课获奖 * @param schoolXlectureAwardsVo 讲课获奖
* @return 讲课获奖集合 * @return 讲课获奖集合
*/ */
public List<SchoolXlectureAwards> selectSchoolXlectureAwardsList(SchoolXlectureAwards schoolXlectureAwards); public List<SchoolXlectureAwardsVo> selectSchoolXlectureAwardsList(SchoolXlectureAwardsVo schoolXlectureAwardsVo);
/** /**
* 新增讲课获奖 * 新增讲课获奖
......
...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn; ...@@ -2,6 +2,7 @@ package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteacherAwardsVo;
import java.util.List; import java.util.List;
...@@ -19,15 +20,15 @@ public interface SchoolXteacherAwardsMapper ...@@ -19,15 +20,15 @@ public interface SchoolXteacherAwardsMapper
* @param id 教师获奖主键 * @param id 教师获奖主键
* @return 教师获奖 * @return 教师获奖
*/ */
public SchoolXteacherAwards selectSchoolXteacherAwardsById(Long id); public SchoolXteacherAwardsVo selectSchoolXteacherAwardsById(Long id);
/** /**
* 查询教师获奖列表 * 查询教师获奖列表
* *
* @param schoolXteacherAwards 教师获奖 * @param schoolXteacherAwardsVo 教师获奖
* @return 教师获奖集合 * @return 教师获奖集合
*/ */
public List<SchoolXteacherAwards> selectSchoolXteacherAwardsList(SchoolXteacherAwards schoolXteacherAwards); public List<SchoolXteacherAwardsVo> selectSchoolXteacherAwardsList(SchoolXteacherAwardsVo schoolXteacherAwardsVo);
/** /**
* 新增教师获奖 * 新增教师获奖
......
package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.entity.SysUser;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteachingAchievementsVo;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 教学成绩Mapper接口 * 教学成绩Mapper接口
...@@ -10,7 +14,7 @@ import java.util.List; ...@@ -10,7 +14,7 @@ import java.util.List;
* @author ruoyi * @author ruoyi
* @date 2023-12-06 * @date 2023-12-06
*/ */
public interface SchoolXteachingAchievementsMapper public interface SchoolXteachingAchievementsMapper extends BaseMapper<SchoolXteachingAchievements>
{ {
/** /**
* 查询教学成绩 * 查询教学成绩
...@@ -18,15 +22,15 @@ public interface SchoolXteachingAchievementsMapper ...@@ -18,15 +22,15 @@ public interface SchoolXteachingAchievementsMapper
* @param id 教学成绩主键 * @param id 教学成绩主键
* @return 教学成绩 * @return 教学成绩
*/ */
public SchoolXteachingAchievements selectSchoolXteachingAchievementsById(Long id); public SchoolXteachingAchievementsVo selectSchoolXteachingAchievementsById(Long id);
/** /**
* 查询教学成绩列表 * 查询教学成绩列表
* *
* @param schoolXteachingAchievements 教学成绩 * @param schoolXteachingAchievementsVo 教学成绩
* @return 教学成绩集合 * @return 教学成绩集合
*/ */
public List<SchoolXteachingAchievements> selectSchoolXteachingAchievementsList(SchoolXteachingAchievements schoolXteachingAchievements); public List<SchoolXteachingAchievementsVo> selectSchoolXteachingAchievementsList(SchoolXteachingAchievementsVo schoolXteachingAchievementsVo);
/** /**
* 新增教学成绩 * 新增教学成绩
...@@ -59,4 +63,7 @@ public interface SchoolXteachingAchievementsMapper ...@@ -59,4 +63,7 @@ public interface SchoolXteachingAchievementsMapper
* @return 结果 * @return 结果
*/ */
public int deleteSchoolXteachingAchievementsByIds(Long[] ids); public int deleteSchoolXteachingAchievementsByIds(Long[] ids);
List<Map<String, Object>> getUserList(SysUser sysUser);
} }
package yangtz.cs.liu.campus.mapper.teacherFiles;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation;
import java.util.List;
public interface SchoolTeacherBasichlnformationMapper extends BaseMapper<SchoolTeacherBasicInformation> {
List<SchoolTeacherBasicInformation> list(SchoolTeacherBasicInformation information);
SchoolTeacherBasicInformation selectById(Long id);
}
package yangtz.cs.liu.campus.service.impl.schoolAnnualAssessment; package yangtz.cs.liu.campus.service.impl.schoolAnnualAssessment;
import cn.hutool.core.io.resource.ClassPathResource;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
...@@ -12,15 +11,12 @@ import org.slf4j.Logger; ...@@ -12,15 +11,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.controller.teacherFiles.SchoolTeacherBasiclnformationController;
import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment; import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment;
import yangtz.cs.liu.campus.mapper.schoolAnnualAssessment.SchoolAnnualAssessmentMapper; import yangtz.cs.liu.campus.mapper.schoolAnnualAssessment.SchoolAnnualAssessmentMapper;
import yangtz.cs.liu.campus.service.schoolAnnualAssessment.ISchoolAnnualAssessmentService; import yangtz.cs.liu.campus.service.schoolAnnualAssessment.ISchoolAnnualAssessmentService;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.URLEncoder;
import java.util.List; import java.util.List;
/** /**
......
package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentReq;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolAclassTeacherAssessmentService;
/**
* 班主任考核Service业务层处理
*
* @author ruoyi
* @date 2023-12-12
*/
@Service
public class SchoolAclassTeacherAssessmentServiceImpl extends ServiceImpl<SchoolAclassTeacherAssessmentMapper, SchoolAclassTeacherAssessment> implements ISchoolAclassTeacherAssessmentService
{
@Autowired
private SchoolAclassTeacherAssessmentMapper schoolAclassTeacherAssessmentMapper;
/**
* 查询班主任考核
*
* @param id 班主任考核主键
* @return 班主任考核
*/
@Override
public SchoolAclassTeacherAssessment selectSchoolAclassTeacherAssessmentById(Long id)
{
return schoolAclassTeacherAssessmentMapper.selectSchoolAclassTeacherAssessmentById(id);
}
/**
* 查询班主任考核列表
*
* @param
* @return 班主任考核
*/
@Override
public List<SchoolAclassTeacherAssessmentVo> selectSchoolAclassTeacherAssessmentList(SchoolAclassTeacherAssessmentReq req)
{
//查询条件状
// 智育考核成绩
String intellEduCheckAchievement = req.getIntellEduCheckAchievement();
if (StringUtils.isNotEmpty(intellEduCheckAchievement)){
this.symbolConversion(req);
}
//德育考核成绩
String moralEduCheckAchievement = req.getMoralEduCheckAchievement();
if (StringUtils.isNotEmpty(moralEduCheckAchievement)){
this.wordDateConversion(req);
}
return schoolAclassTeacherAssessmentMapper.selectSchoolAclassTeacherAssessmentList(req);
}
@Override
public List<SchoolAclassTeacherAssessment> selectSchoolList(SchoolAclassTeacherAssessmentReq req)
{
//查询条件状
// 智育考核成绩
String intellEduCheckAchievement = req.getIntellEduCheckAchievement();
if (StringUtils.isNotEmpty(intellEduCheckAchievement)){
this.symbolConversion(req);
}
//德育考核成绩
String moralEduCheckAchievement = req.getMoralEduCheckAchievement();
if (StringUtils.isNotEmpty(moralEduCheckAchievement)){
this.wordDateConversion(req);
}
return schoolAclassTeacherAssessmentMapper.selectSchoolList(req);
}
/**
* 新增班主任考核
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 结果
*/
@Override
public int insertSchoolAclassTeacherAssessment(SchoolAclassTeacherAssessment schoolAclassTeacherAssessment)
{
schoolAclassTeacherAssessment.setCreateTime(DateUtils.getNowDate());
return schoolAclassTeacherAssessmentMapper.insertSchoolAclassTeacherAssessment(schoolAclassTeacherAssessment);
}
/**
* 修改班主任考核
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 结果
*/
@Override
public int updateSchoolAclassTeacherAssessment(SchoolAclassTeacherAssessment schoolAclassTeacherAssessment)
{
schoolAclassTeacherAssessment.setUpdateTime(DateUtils.getNowDate());
return schoolAclassTeacherAssessmentMapper.updateSchoolAclassTeacherAssessment(schoolAclassTeacherAssessment);
}
/**
* 批量删除班主任考核
*
* @param ids 需要删除的班主任考核主键
* @return 结果
*/
@Override
public int deleteSchoolAclassTeacherAssessmentByIds(Long[] ids)
{
return schoolAclassTeacherAssessmentMapper.deleteSchoolAclassTeacherAssessmentByIds(ids);
}
/**
* 删除班主任考核信息
*
* @param id 班主任考核主键
* @return 结果
*/
@Override
public int deleteSchoolAclassTeacherAssessmentById(Long id)
{
return schoolAclassTeacherAssessmentMapper.deleteSchoolAclassTeacherAssessmentById(id);
}
/**
* 智育考核成绩
* @param
*/
private void symbolConversion(SchoolAclassTeacherAssessmentReq req){
//智育考核成绩
String intellEduCheckAchievement = req.getIntellEduCheckAchievement();
if (intellEduCheckAchievement.contains(">=")) {
String substring = intellEduCheckAchievement.substring(2, intellEduCheckAchievement.length());
req.setIntellEduCheckAchievementgtd(new BigDecimal(substring));
req.setIntellEduCheckAchievement(null);
} else if (intellEduCheckAchievement.contains("<=")) {
String substring = intellEduCheckAchievement.substring(2, intellEduCheckAchievement.length());
req.setIntellEduCheckAchievementltd(new BigDecimal(substring));
req.setIntellEduCheckAchievement(null);
} else if (intellEduCheckAchievement.contains("<")) {
String substring = intellEduCheckAchievement.substring(1, intellEduCheckAchievement.length());
req.setIntellEduCheckAchievementlt(new BigDecimal(substring));
req.setIntellEduCheckAchievement(null);
} else if (intellEduCheckAchievement.contains(">")) {
String substring = intellEduCheckAchievement.substring(1, intellEduCheckAchievement.length());
req.setIntellEduCheckAchievementgt(new BigDecimal(substring));
req.setIntellEduCheckAchievement(null);
} else if (intellEduCheckAchievement.contains("=")) {
String substring = intellEduCheckAchievement.substring(1, intellEduCheckAchievement.length());
req.setIntellEduCheckAchievement(substring);
}
}
/**
* 参加工作调整
*/
private void wordDateConversion(SchoolAclassTeacherAssessmentReq req) {
String moralEduCheckAchievement = req.getMoralEduCheckAchievement();
if (moralEduCheckAchievement.contains(">=")) {
String substring = moralEduCheckAchievement.substring(2, moralEduCheckAchievement.length());
req.setMoralEduCheckAchievementgtd(new BigDecimal(substring));
req.setMoralEduCheckAchievement(null);
} else if (moralEduCheckAchievement.contains("<=")) {
String substring = moralEduCheckAchievement.substring(2, moralEduCheckAchievement.length());
req.setMoralEduCheckAchievementltd(new BigDecimal(substring));
req.setMoralEduCheckAchievement(null);
} else if (moralEduCheckAchievement.contains("<")) {
String substring = moralEduCheckAchievement.substring(1, moralEduCheckAchievement.length());
req.setMoralEduCheckAchievementlt(new BigDecimal(substring));
req.setMoralEduCheckAchievement(null);
} else if (moralEduCheckAchievement.contains(">")) {
String substring = moralEduCheckAchievement.substring(1, moralEduCheckAchievement.length());
req.setMoralEduCheckAchievementgt(new BigDecimal(substring));
req.setMoralEduCheckAchievement(null);
} else if (moralEduCheckAchievement.contains("=")) {
String substring = moralEduCheckAchievement.substring(1, moralEduCheckAchievement.length());
req.setMoralEduCheckAchievement(substring);
}
}
}
package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkload;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolAworkloadMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolAworkloadService;
/**
* 工作量信息Service业务层处理
*
* @author ruoyi
* @date 2023-12-11
*/
@Service
public class SchoolAworkloadServiceImpl extends ServiceImpl<SchoolAworkloadMapper, SchoolAworkload> implements ISchoolAworkloadService
{
@Autowired
private SchoolAworkloadMapper schoolAworkloadMapper;
/**
* 查询工作量信息
*
* @param id 工作量信息主键
* @return 工作量信息
*/
@Override
public SchoolAworkload selectSchoolAworkloadById(Long id)
{
SchoolAworkload date = schoolAworkloadMapper.selectSchoolAworkloadById(id);
date.setAmountTo(date.getEarlyReading()+date.getRequiredCourses()+date.getEveningSelfStudy());
return date;
}
/**
* 查询工作量信息列表
*
* @param schoolAworkload 工作量信息
* @return 工作量信息
*/
@Override
public List<SchoolAworkloadVo> selectSchoolAworkloadList(SchoolAworkload schoolAworkload)
{
List<SchoolAworkloadVo> schoolAworkloadVos = schoolAworkloadMapper.selectSchoolAworkloadList(schoolAworkload);
//计算合计
for (SchoolAworkloadVo date : schoolAworkloadVos){
date.setAmountTo(date.getEarlyReading()+date.getRequiredCourses()+date.getEveningSelfStudy());
}
return schoolAworkloadVos;
}
@Override
public List<SchoolAworkloadExport> selectAworkloadList(SchoolAworkload schoolAworkload)
{
List<SchoolAworkloadExport> schoolAworkloadVos = schoolAworkloadMapper.selectAworkloadList(schoolAworkload);
//计算合计
for (SchoolAworkloadExport date : schoolAworkloadVos){
date.setAmountTo(date.getEarlyReading()+date.getRequiredCourses()+date.getEveningSelfStudy());
}
return schoolAworkloadVos;
}
/**
* 新增工作量信息
*
* @param schoolAworkload 工作量信息
* @return 结果
*/
@Override
public int insertSchoolAworkload(SchoolAworkload schoolAworkload)
{
schoolAworkload.setCreateTime(DateUtils.getNowDate());
return schoolAworkloadMapper.insertSchoolAworkload(schoolAworkload);
}
/**
* 修改工作量信息
*
* @param schoolAworkload 工作量信息
* @return 结果
*/
@Override
public int updateSchoolAworkload(SchoolAworkload schoolAworkload)
{
schoolAworkload.setUpdateTime(DateUtils.getNowDate());
return schoolAworkloadMapper.updateSchoolAworkload(schoolAworkload);
}
/**
* 批量删除工作量信息
*
* @param ids 需要删除的工作量信息主键
* @return 结果
*/
@Override
public int deleteSchoolAworkloadByIds(Long[] ids)
{
return schoolAworkloadMapper.deleteSchoolAworkloadByIds(ids);
}
/**
* 删除工作量信息信息
*
* @param id 工作量信息主键
* @return 结果
*/
@Override
public int deleteSchoolAworkloadById(Long id)
{
return schoolAworkloadMapper.deleteSchoolAworkloadById(id);
}
}
package yangtz.cs.liu.campus.service.impl.teacherFiles; package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import cn.hutool.poi.excel.ExcelReader; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.poi.excel.ExcelUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.UnPackeUtil;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.system.mapper.SysDictDataMapper; import com.ruoyi.system.mapper.SysDictDataMapper;
import org.apache.poi.ss.usermodel.Cell; import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation; import org.springframework.web.multipart.commons.CommonsMultipartFile;
import yangtz.cs.liu.campus.mapper.teacherFiles.SchoolTeacherBasichlnformationMapper; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformation;
import yangtz.cs.liu.campus.service.teacherFiles.SchoolTeacherBasichlnformationService; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolTeacherBasichlnformationMapper;
import java.io.IOException; import yangtz.cs.liu.campus.service.impl.teacherFiles.IdCardNumberUtils;
import java.io.InputStream; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.SchoolTeacherBasichlnformationService;
import java.io.*;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.Calendar;
import java.util.Date; import static com.core.constant.CompressType.ZIP_FILE;
import java.util.List;
@Service @Service
public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<SchoolTeacherBasichlnformationMapper, SchoolTeacherBasicInformation> implements SchoolTeacherBasichlnformationService public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<SchoolTeacherBasichlnformationMapper, SchoolTeacherBasicInformation> implements SchoolTeacherBasichlnformationService
...@@ -39,14 +47,14 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo ...@@ -39,14 +47,14 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
@Autowired @Autowired
private SysDictDataMapper dictDataMapper; private SysDictDataMapper dictDataMapper;
@Override @Override
public List<SchoolTeacherBasicInformation> list(SchoolTeacherBasicInformation information) throws Exception { public List<SchoolTeacherBasicInformationVo> list(SchoolTeacherBasicInformationVo information) throws Exception {
//出生日期查询条件转换 //出生日期查询条件转换
this.symbolConversion(information); this.symbolConversion(information);
this.wordDateConversion(information); this.wordDateConversion(information);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String format = sdf.format(new Date()); String format = sdf.format(new Date());
List<SchoolTeacherBasicInformation> list = teacherBasichlnformationMapper.list(information); List<SchoolTeacherBasicInformationVo> list = teacherBasichlnformationMapper.list(information);
for (SchoolTeacherBasicInformation date :list){ for (SchoolTeacherBasicInformationVo date :list){
//1.计算年龄 //1.计算年龄
int ageFromIdCard = IdCardNumberUtils.getAgeFromIdCard(date.getIdCard()); int ageFromIdCard = IdCardNumberUtils.getAgeFromIdCard(date.getIdCard());
date.setAge(ageFromIdCard); date.setAge(ageFromIdCard);
...@@ -63,13 +71,17 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo ...@@ -63,13 +71,17 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
} }
public int updateInformationById(SchoolTeacherBasicInformation information){
return teacherBasichlnformationMapper.updateInformationById(information);
}
@Override @Override
public SchoolTeacherBasicInformation getById(Long id) throws ParseException { public SchoolTeacherBasicInformationVo getByIds(Long id) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String format = sdf.format(new Date()); String format = sdf.format(new Date());
SchoolTeacherBasicInformation schoolTeacherBasicInformation = teacherBasichlnformationMapper.selectById(id); SchoolTeacherBasicInformationVo schoolTeacherBasicInformation = teacherBasichlnformationMapper.selectById(id);
//1.计算年龄 //1.计算年龄
int ageFromIdCard = IdCardNumberUtils.getAgeFromIdCard(schoolTeacherBasicInformation.getIdCard()); int ageFromIdCard = IdCardNumberUtils.getAgeFromIdCard(schoolTeacherBasicInformation.getIdCard());
schoolTeacherBasicInformation.setAge(ageFromIdCard); schoolTeacherBasicInformation.setAge(ageFromIdCard);
...@@ -402,9 +414,297 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo ...@@ -402,9 +414,297 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
@Override
public String importTeacherPicture(MultipartFile uploadFile) {
StringBuilder failureMsg = new StringBuilder();
/*解压到本地*/
unpack(uploadFile);
/*处理图片并匹配学生并添加到数据库中*/
String os = System.getProperty("os.name");
File file = null;
//Windows操作系统
if (os != null && os.toLowerCase().startsWith("windows")) {
file = new File("C:\\uploadPicture");
} else if (os != null && os.toLowerCase().startsWith("linux")) {//Linux操作系统
file = new File("/uploadPicture");
}
File[] files = file.listFiles();
judgeFiles(files);
for (File f : files) {
if (StringUtils.isNotNull(f)) {
if (f.isDirectory()) {
File[] files1 = f.listFiles();
if (files1.length == 0 || StringUtils.isNull(files1)) {
throw new ServiceException("压缩包内文件夹里无头像信息,请检查");
}
for (File file1 : files1) {
saveUrlToObject(file1, failureMsg);
file1.delete();
}
f.delete();
continue;
}
//saveUrlToObject(f);
/*将本地的文件删除*/
f.delete();
}
}
String s = "";
if ("".equals(failureMsg.toString())) {
s = "恭喜您,数据已全部导入成功!";
} else {
failureMsg.insert(0, "导入完成,其中不匹配的数据如下:");
s = failureMsg.toString();
}
return s;
}
public void unpack(MultipartFile uploadFile) {
boolean isZipPack = true;
// 解压目录
String packFileStr = "";
String os = System.getProperty("os.name");
File packFile = null;
//Windows操作系统
if (os != null && os.toLowerCase().startsWith("windows")) {
packFileStr = "C:\\uploadPicture";
packFile = new File(packFileStr);
} else if (os != null && os.toLowerCase().startsWith("linux")) {//Linux操作系统
packFileStr = "/uploadPicture";
packFile = new File(packFileStr);
packFile.setWritable(true, false);
}
//不存在则创建
if (!packFile.exists()) {
boolean mkdirs = packFile.mkdirs();
} else {
//存在则删除其中数据
remove(packFile);
}
if (uploadFile == null) {
throw new RuntimeException("请上传文件");
}
String contentType = uploadFile.getContentType();
String filename = uploadFile.getOriginalFilename();
String[] subFileName = filename.split("\\.");
//将压缩包保存在指定路径
String packFilePath = packFileStr + File.separator + filename;
if (judgeIsZip(ZIP_FILE, contentType) || subFileName[1].equals("zip")) {
//zip解压缩处理
}
// else if (RAR_FILE.equals(contentType)) {
// //rar解压缩处理
// isZipPack = false;
// }
else {
throw new RuntimeException("上传的压缩包格式不正确,仅支持zip压缩文件!");
}
File file = new File(packFilePath);
try {
uploadFile.transferTo(file);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("压缩文件到:" + packFileStr + " 失败!");
}
if (isZipPack) {
//zip压缩包
UnPackeUtil.unPackZip(file, null, packFileStr);
//删除系统对应文件夹中的zip文件
file.delete();
} else {
//rar压缩包
// RandomAccessFile randomAccessFile = null;
// IInArchive inArchive = null;
//
// randomAccessFile = new RandomAccessFile(packFilePath, "r");
// inArchive = SevenZip.openInArchive(null, new RandomAccessFileInStream(randomAccessFile));
//
// int[] in = new int[inArchive.getNumberOfItems()];
// for (int i = 0; i < in.length; i++) {
// in[i] = i;
// }
// inArchive.extract(in, false, new ExtractCallback(inArchive, "366", packFileStr));
}
//获取压缩包名称
filename = filename.substring(0, filename.lastIndexOf("."));
System.out.println("解压成功,解压目录:" + filename);
//可以根据解压路径、压缩包名称、文件名称,取出对应文件进行操作
}
public File[] judgeFiles(File[] files) {
if (files.length == 0 || StringUtils.isNull(files)) {
throw new ServiceException("压缩包内容为空,请检查,支持的格式为:将老师头像照片放在某一文件夹内,将该文件夹压缩成zip格式的压缩包,然后再上传");
}
//定义需要删除的文件的索引
List<File> files1 = new ArrayList<>();
boolean hasPic = false;
boolean hasFolder = false;
//for (File f : files) {
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
hasFolder = true;
if (files[i].listFiles().length > 0 && StringUtils.isNotNull(files[i].listFiles())) {
files1 = Arrays.asList(files[i].listFiles());
}
for (File file1 : files[i].listFiles()) {
//遍历文件夹,看是否有图片格式的照片
String filename = file1.getName();
String[] split = filename.split("\\.");
if (split.length <= 1) {
throw new ServiceException("请检查压缩包,支持的格式为:将老师头像照片放在某一文件夹内,文件夹内不要嵌套文件夹,也不要有其他无关文件,将该文件夹压缩成zip格式的压缩包,然后再上传");
}
/*判断文件是否是jpg和png*/
if (split[1].equals("jpg") || split[1].equals("png") || split[1].equals("jpeg") || split[1].equals("bmp")) {
hasPic = true;
} else {
//文件夹内不是以上格式的删除掉
file1.delete();
}
}
} else {
//不是文件夹的就删除
files[i].delete();
files[i] = null;
}
}
//判断压缩格式是否合适,是否有文件夹
if (!hasFolder) {
throw new ServiceException("压缩包内无文件夹,请检查,支持的格式为:将老师头像照片放在某一文件夹内,将该文件夹压缩成zip格式的压缩包,然后再上传");
}
//files1为空,说明压缩包内文件夹里无任何文件
if (StringUtils.isNull(files1) || files1.size() == 0) {
throw new ServiceException("压缩包内的文件夹内无文件,请检查,支持的格式为:将老师头像照片放在某一文件夹内,将该文件夹压缩成zip格式的压缩包,然后再上传");
}
//判断文件夹内是否有需要的图片格式
if (!hasPic) {
throw new ServiceException("压缩包内文件夹里没有符合所要求的图片格式的老师头像照片,请检查,支持的图片格式:jpg、 png、 jpeg和bmp,暂不支持其它格式");
}
return files;
}
//删除指定文件夹下的所有内容
public void remove(File file) {
File[] files = file.listFiles();//将file子目录及子文件放进文件数组
if (files != null) {//如果包含文件进行删除操作
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {//删除子文件
files[i].delete();
} else if (files[i].isDirectory()) {//通过递归方法删除子目录的文件
remove(files[i]);
}
files[i].delete();//删除子目录
}
}
}
public boolean judgeIsZip(String[] fileType, String contentType) {
boolean flag = false;
for (String i : fileType) {
if (contentType.equals(i)) {
flag = true;
}
}
return flag;
}
@Transactional(rollbackFor = Exception.class)
public void saveUrlToObject(File f, StringBuilder failureMsg) {
String filename = f.getName();
String[] split = filename.split("\\.");
//可能是身份证号,可能是省学籍号
String idCard = split[0];
/*获取到对应学生的数据 ,先根据身份证查*/
LambdaQueryWrapper<SchoolTeacherBasicInformation> lqw1 = new LambdaQueryWrapper<>();
lqw1.eq(SchoolTeacherBasicInformation::getIdCard, idCard);
List<SchoolTeacherBasicInformation> studentList1 = teacherBasichlnformationMapper.selectList(lqw1);
if (StringUtils.isNull(studentList1) || studentList1.size() == 0) {
failureMsg.append(" 身份证号为" + idCard + "的老师不在,无法为该老师导入图片");
} else {
boolean flag = false;
if (split.length <= 1) {
throw new ServiceException("请检查压缩包,压缩包内不要有文件夹;可将老师照片放到同一文件夹下,文件夹下不要有任何与老师照片无关的文件,将该文件夹压缩上传");
}
/*判断文件是否是jpg和png*/
if (split[1].equals("jpg") || split[1].equals("png") || split[1].equals("jpeg") || split[1].equals("bmp")) {
flag = true;
} else {
//throw new ServiceException("支持jpg、 png、 jpeg和bmp图片上传,暂不支持其它格式");
failureMsg.append(" 身份证号为" + idCard + "的图片格式有误,支持jpg、 png、 jpeg和bmp图片上传,暂不支持其它格式");
}
/*必须存在这个同学 并且 是图片类型才能进行下一步*/
if (studentList1.size() != 0 && flag) {
/*上传图片到服务器,获取地址*/
/*将file文件转为MultipartFile*/
MultipartFile cMultiFile = getMultipartFile(f);
/*上传文件并获取url*/
String url = uploadFile(cMultiFile);
/*将路径添加到数据库中*/
for (SchoolTeacherBasicInformation date:studentList1){
date.setPhotoUrl(url);
date.setPhotoName(idCard);
teacherBasichlnformationMapper.updateById(date);
}
} else {
//不能抛异常,,,否则指定目录下会存在脏数据
//throw new ServiceException("身份证号或省学籍号为" + idCard + "的学生不存在,无法导入图片,请检查");
failureMsg.append(" 身份证为" + idCard + "的老师不存在,无法为该老师导入图片");
}
}
}
/*上传文件*/
public String uploadFile(MultipartFile file) {
try {
// 上传文件路径
String filePath = RuoYiConfig.getAvatarPath();
// 上传并返回新文件名称
String url = FileUploadUtils.upload(filePath, file, MimeTypeUtils.IMAGE_EXTENSION);
//String url = serverConfig.getUrl() + fileName;
//int i = url.indexOf("/profile");
//String substring = url.substring(i);
//System.out.println(substring);
return url;
} catch (Exception e) {
throw new ServiceException("上传异常");
}
}
/*File转为MultipartFile*/
public static MultipartFile getMultipartFile(File file) {
FileItem item = new DiskFileItemFactory().createItem("file"
, MediaType.MULTIPART_FORM_DATA_VALUE
, true
, file.getName());
try (InputStream input = new FileInputStream(file);
OutputStream os = item.getOutputStream()) {
// 流转移
IOUtils.copy(input, os);
} catch (Exception e) {
throw new IllegalArgumentException("Invalid file: " + e, e);
}
return new CommonsMultipartFile(item);
}
//计算年龄 //计算年龄
...@@ -463,7 +763,7 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo ...@@ -463,7 +763,7 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
* 出生年月条件转换 * 出生年月条件转换
* @param information * @param information
*/ */
private void symbolConversion(SchoolTeacherBasicInformation information){ private void symbolConversion(SchoolTeacherBasicInformationVo information){
String birthDate = information.getBirthDate(); String birthDate = information.getBirthDate();
if (StringUtils.isEmpty(birthDate)){ if (StringUtils.isEmpty(birthDate)){
return; return;
...@@ -492,7 +792,7 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo ...@@ -492,7 +792,7 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
* 参加工作调整 * 参加工作调整
*/ */
private void wordDateConversion(SchoolTeacherBasicInformation information){ private void wordDateConversion(SchoolTeacherBasicInformationVo information){
String workingHours = information.getWorkingHours(); String workingHours = information.getWorkingHours();
if (StringUtils.isEmpty(workingHours)){ if (StringUtils.isEmpty(workingHours)){
return; return;
......
...@@ -2,11 +2,14 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn; ...@@ -2,11 +2,14 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXacademicWorksMapper; import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXacademicWorksMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXacademicWorksService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXacademicWorksService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXacademicWorksVo;
/** /**
* 论文著作Service业务层处理 * 论文著作Service业务层处理
...@@ -27,7 +30,7 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer ...@@ -27,7 +30,7 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer
* @return 论文著作 * @return 论文著作
*/ */
@Override @Override
public SchoolXacademicWorks selectSchoolXacademicWorksById(Long id) public SchoolXacademicWorksVo selectSchoolXacademicWorksById(Long id)
{ {
return schoolXacademicWorksMapper.selectSchoolXacademicWorksById(id); return schoolXacademicWorksMapper.selectSchoolXacademicWorksById(id);
} }
...@@ -35,13 +38,13 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer ...@@ -35,13 +38,13 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer
/** /**
* 查询论文著作列表 * 查询论文著作列表
* *
* @param schoolXacademicWorks 论文著作 * @param schoolXacademicWorksVo 论文著作
* @return 论文著作 * @return 论文著作
*/ */
@Override @Override
public List<SchoolXacademicWorks> selectSchoolXacademicWorksList(SchoolXacademicWorks schoolXacademicWorks) public List<SchoolXacademicWorksVo> selectSchoolXacademicWorksList(SchoolXacademicWorksVo schoolXacademicWorksVo)
{ {
return schoolXacademicWorksMapper.selectSchoolXacademicWorksList(schoolXacademicWorks); return schoolXacademicWorksMapper.selectSchoolXacademicWorksList(schoolXacademicWorksVo);
} }
/** /**
...@@ -51,8 +54,10 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer ...@@ -51,8 +54,10 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertSchoolXacademicWorks(SchoolXacademicWorks schoolXacademicWorks) public int insertSchoolXacademicWorks(SchoolXacademicWorks schoolXacademicWorks)
{ {
schoolXacademicWorks.setCreateBy(SecurityUtils.getUsername());
schoolXacademicWorks.setCreateTime(DateUtils.getNowDate()); schoolXacademicWorks.setCreateTime(DateUtils.getNowDate());
return schoolXacademicWorksMapper.insertSchoolXacademicWorks(schoolXacademicWorks); return schoolXacademicWorksMapper.insertSchoolXacademicWorks(schoolXacademicWorks);
} }
...@@ -64,8 +69,10 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer ...@@ -64,8 +69,10 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateSchoolXacademicWorks(SchoolXacademicWorks schoolXacademicWorks) public int updateSchoolXacademicWorks(SchoolXacademicWorks schoolXacademicWorks)
{ {
schoolXacademicWorks.setUpdateBy(SecurityUtils.getUsername());
schoolXacademicWorks.setUpdateTime(DateUtils.getNowDate()); schoolXacademicWorks.setUpdateTime(DateUtils.getNowDate());
return schoolXacademicWorksMapper.updateSchoolXacademicWorks(schoolXacademicWorks); return schoolXacademicWorksMapper.updateSchoolXacademicWorks(schoolXacademicWorks);
} }
...@@ -93,4 +100,14 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer ...@@ -93,4 +100,14 @@ public class SchoolXacademicWorksServiceImpl implements ISchoolXacademicWorksSer
{ {
return schoolXacademicWorksMapper.deleteSchoolXacademicWorksById(id); return schoolXacademicWorksMapper.deleteSchoolXacademicWorksById(id);
} }
/**
* 审核
* @param schoolXacademicWorks
* @return
*/
@Override
public int audit(SchoolXacademicWorks schoolXacademicWorks) {
return schoolXacademicWorksMapper.updateSchoolXacademicWorks(schoolXacademicWorks);
}
} }
...@@ -2,11 +2,13 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn; ...@@ -2,11 +2,13 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsMapper; import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXcomprehensiveHonorsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXcomprehensiveHonorsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsVo;
/** /**
* 综合荣誉Service业务层处理 * 综合荣誉Service业务层处理
...@@ -27,7 +29,7 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens ...@@ -27,7 +29,7 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens
* @return 综合荣誉 * @return 综合荣誉
*/ */
@Override @Override
public SchoolXcomprehensiveHonors selectSchoolXcomprehensiveHonorsById(Long id) public SchoolXcomprehensiveHonorsVo selectSchoolXcomprehensiveHonorsById(Long id)
{ {
return schoolXcomprehensiveHonorsMapper.selectSchoolXcomprehensiveHonorsById(id); return schoolXcomprehensiveHonorsMapper.selectSchoolXcomprehensiveHonorsById(id);
} }
...@@ -35,13 +37,13 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens ...@@ -35,13 +37,13 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens
/** /**
* 查询综合荣誉列表 * 查询综合荣誉列表
* *
* @param schoolXcomprehensiveHonors 综合荣誉 * @param schoolXcomprehensiveHonorsVo 综合荣誉
* @return 综合荣誉 * @return 综合荣誉
*/ */
@Override @Override
public List<SchoolXcomprehensiveHonors> selectSchoolXcomprehensiveHonorsList(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public List<SchoolXcomprehensiveHonorsVo> selectSchoolXcomprehensiveHonorsList(SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo)
{ {
return schoolXcomprehensiveHonorsMapper.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonors); return schoolXcomprehensiveHonorsMapper.selectSchoolXcomprehensiveHonorsList(schoolXcomprehensiveHonorsVo);
} }
/** /**
...@@ -53,6 +55,7 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens ...@@ -53,6 +55,7 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens
@Override @Override
public int insertSchoolXcomprehensiveHonors(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public int insertSchoolXcomprehensiveHonors(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors)
{ {
schoolXcomprehensiveHonors.setCreateBy(SecurityUtils.getUsername());
schoolXcomprehensiveHonors.setCreateTime(DateUtils.getNowDate()); schoolXcomprehensiveHonors.setCreateTime(DateUtils.getNowDate());
return schoolXcomprehensiveHonorsMapper.insertSchoolXcomprehensiveHonors(schoolXcomprehensiveHonors); return schoolXcomprehensiveHonorsMapper.insertSchoolXcomprehensiveHonors(schoolXcomprehensiveHonors);
} }
...@@ -66,6 +69,7 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens ...@@ -66,6 +69,7 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens
@Override @Override
public int updateSchoolXcomprehensiveHonors(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) public int updateSchoolXcomprehensiveHonors(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors)
{ {
schoolXcomprehensiveHonors.setUpdateBy(SecurityUtils.getUsername());
schoolXcomprehensiveHonors.setUpdateTime(DateUtils.getNowDate()); schoolXcomprehensiveHonors.setUpdateTime(DateUtils.getNowDate());
return schoolXcomprehensiveHonorsMapper.updateSchoolXcomprehensiveHonors(schoolXcomprehensiveHonors); return schoolXcomprehensiveHonorsMapper.updateSchoolXcomprehensiveHonors(schoolXcomprehensiveHonors);
} }
...@@ -93,4 +97,14 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens ...@@ -93,4 +97,14 @@ public class SchoolXcomprehensiveHonorsServiceImpl implements ISchoolXcomprehens
{ {
return schoolXcomprehensiveHonorsMapper.deleteSchoolXcomprehensiveHonorsById(id); return schoolXcomprehensiveHonorsMapper.deleteSchoolXcomprehensiveHonorsById(id);
} }
/**
* 审核
* @param schoolXcomprehensiveHonors
* @return
*/
@Override
public int audit(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors) {
return schoolXcomprehensiveHonorsMapper.updateSchoolXcomprehensiveHonors(schoolXcomprehensiveHonors);
}
} }
...@@ -2,11 +2,14 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn; ...@@ -2,11 +2,14 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXlectureAwardsMapper; import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXlectureAwardsMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXlectureAwardsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXlectureAwardsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXlectureAwardsVo;
/** /**
* 讲课获奖Service业务层处理 * 讲课获奖Service业务层处理
...@@ -27,7 +30,7 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer ...@@ -27,7 +30,7 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer
* @return 讲课获奖 * @return 讲课获奖
*/ */
@Override @Override
public SchoolXlectureAwards selectSchoolXlectureAwardsById(Long id) public SchoolXlectureAwardsVo selectSchoolXlectureAwardsById(Long id)
{ {
return schoolXlectureAwardsMapper.selectSchoolXlectureAwardsById(id); return schoolXlectureAwardsMapper.selectSchoolXlectureAwardsById(id);
} }
...@@ -35,13 +38,13 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer ...@@ -35,13 +38,13 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer
/** /**
* 查询讲课获奖列表 * 查询讲课获奖列表
* *
* @param schoolXlectureAwards 讲课获奖 * @param schoolXlectureAwardsVo 讲课获奖
* @return 讲课获奖 * @return 讲课获奖
*/ */
@Override @Override
public List<SchoolXlectureAwards> selectSchoolXlectureAwardsList(SchoolXlectureAwards schoolXlectureAwards) public List<SchoolXlectureAwardsVo> selectSchoolXlectureAwardsList(SchoolXlectureAwardsVo schoolXlectureAwardsVo)
{ {
return schoolXlectureAwardsMapper.selectSchoolXlectureAwardsList(schoolXlectureAwards); return schoolXlectureAwardsMapper.selectSchoolXlectureAwardsList(schoolXlectureAwardsVo);
} }
/** /**
...@@ -51,8 +54,10 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer ...@@ -51,8 +54,10 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertSchoolXlectureAwards(SchoolXlectureAwards schoolXlectureAwards) public int insertSchoolXlectureAwards(SchoolXlectureAwards schoolXlectureAwards)
{ {
schoolXlectureAwards.setCreateBy(SecurityUtils.getUsername());
schoolXlectureAwards.setCreateTime(DateUtils.getNowDate()); schoolXlectureAwards.setCreateTime(DateUtils.getNowDate());
return schoolXlectureAwardsMapper.insertSchoolXlectureAwards(schoolXlectureAwards); return schoolXlectureAwardsMapper.insertSchoolXlectureAwards(schoolXlectureAwards);
} }
...@@ -64,8 +69,10 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer ...@@ -64,8 +69,10 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateSchoolXlectureAwards(SchoolXlectureAwards schoolXlectureAwards) public int updateSchoolXlectureAwards(SchoolXlectureAwards schoolXlectureAwards)
{ {
schoolXlectureAwards.setUpdateBy(SecurityUtils.getUsername());
schoolXlectureAwards.setUpdateTime(DateUtils.getNowDate()); schoolXlectureAwards.setUpdateTime(DateUtils.getNowDate());
return schoolXlectureAwardsMapper.updateSchoolXlectureAwards(schoolXlectureAwards); return schoolXlectureAwardsMapper.updateSchoolXlectureAwards(schoolXlectureAwards);
} }
...@@ -93,4 +100,14 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer ...@@ -93,4 +100,14 @@ public class SchoolXlectureAwardsServiceImpl implements ISchoolXlectureAwardsSer
{ {
return schoolXlectureAwardsMapper.deleteSchoolXlectureAwardsById(id); return schoolXlectureAwardsMapper.deleteSchoolXlectureAwardsById(id);
} }
/**
* 审核
* @param schoolXlectureAwards
* @return
*/
@Override
public int audit(SchoolXlectureAwards schoolXlectureAwards) {
return schoolXlectureAwardsMapper.updateSchoolXlectureAwards(schoolXlectureAwards);
}
} }
...@@ -2,11 +2,14 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn; ...@@ -2,11 +2,14 @@ package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteacherAwardsMapper; import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteacherAwardsMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteacherAwardsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteacherAwardsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteacherAwardsVo;
/** /**
* 教师获奖Service业务层处理 * 教师获奖Service业务层处理
...@@ -27,7 +30,7 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer ...@@ -27,7 +30,7 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer
* @return 教师获奖 * @return 教师获奖
*/ */
@Override @Override
public SchoolXteacherAwards selectSchoolXteacherAwardsById(Long id) public SchoolXteacherAwardsVo selectSchoolXteacherAwardsById(Long id)
{ {
return schoolXteacherAwardsMapper.selectSchoolXteacherAwardsById(id); return schoolXteacherAwardsMapper.selectSchoolXteacherAwardsById(id);
} }
...@@ -35,13 +38,13 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer ...@@ -35,13 +38,13 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer
/** /**
* 查询教师获奖列表 * 查询教师获奖列表
* *
* @param schoolXteacherAwards 教师获奖 * @param schoolXteacherAwardsVo 教师获奖
* @return 教师获奖 * @return 教师获奖
*/ */
@Override @Override
public List<SchoolXteacherAwards> selectSchoolXteacherAwardsList(SchoolXteacherAwards schoolXteacherAwards) public List<SchoolXteacherAwardsVo> selectSchoolXteacherAwardsList(SchoolXteacherAwardsVo schoolXteacherAwardsVo)
{ {
return schoolXteacherAwardsMapper.selectSchoolXteacherAwardsList(schoolXteacherAwards); return schoolXteacherAwardsMapper.selectSchoolXteacherAwardsList(schoolXteacherAwardsVo);
} }
/** /**
...@@ -51,8 +54,10 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer ...@@ -51,8 +54,10 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertSchoolXteacherAwards(SchoolXteacherAwards schoolXteacherAwards) public int insertSchoolXteacherAwards(SchoolXteacherAwards schoolXteacherAwards)
{ {
schoolXteacherAwards.setCreateBy(SecurityUtils.getUsername());
schoolXteacherAwards.setCreateTime(DateUtils.getNowDate()); schoolXteacherAwards.setCreateTime(DateUtils.getNowDate());
return schoolXteacherAwardsMapper.insertSchoolXteacherAwards(schoolXteacherAwards); return schoolXteacherAwardsMapper.insertSchoolXteacherAwards(schoolXteacherAwards);
} }
...@@ -64,8 +69,10 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer ...@@ -64,8 +69,10 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateSchoolXteacherAwards(SchoolXteacherAwards schoolXteacherAwards) public int updateSchoolXteacherAwards(SchoolXteacherAwards schoolXteacherAwards)
{ {
schoolXteacherAwards.setUpdateBy(SecurityUtils.getUsername());
schoolXteacherAwards.setUpdateTime(DateUtils.getNowDate()); schoolXteacherAwards.setUpdateTime(DateUtils.getNowDate());
return schoolXteacherAwardsMapper.updateSchoolXteacherAwards(schoolXteacherAwards); return schoolXteacherAwardsMapper.updateSchoolXteacherAwards(schoolXteacherAwards);
} }
...@@ -93,4 +100,14 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer ...@@ -93,4 +100,14 @@ public class SchoolXteacherAwardsServiceImpl implements ISchoolXteacherAwardsSer
{ {
return schoolXteacherAwardsMapper.deleteSchoolXteacherAwardsById(id); return schoolXteacherAwardsMapper.deleteSchoolXteacherAwardsById(id);
} }
/**
* 审核
* @param schoolXteacherAwards
* @return
*/
@Override
public int audit(SchoolXteacherAwards schoolXteacherAwards) {
return schoolXteacherAwardsMapper.updateSchoolXteacherAwards(schoolXteacherAwards);
}
} }
package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SchoolTeacher;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.SysDictDataMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteachingAchievementsMapper; import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteachingAchievementsMapper;
import yangtz.cs.liu.campus.mapper.teacher.SchoolTeacherMapper;
import yangtz.cs.liu.campus.service.impl.schoolAnnualAssessment.SchoolAnnualAssessmentServiceImpl;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteachingAchievementsService; import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteachingAchievementsService;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteachingAchievementsVo;
import javax.servlet.http.HttpServletResponse;
/** /**
* 教学成绩Service业务层处理 * 教学成绩Service业务层处理
...@@ -15,10 +37,16 @@ import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteachingAchieve ...@@ -15,10 +37,16 @@ import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolXteachingAchieve
* @date 2023-12-06 * @date 2023-12-06
*/ */
@Service @Service
public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingAchievementsService public class SchoolXteachingAchievementsServiceImpl extends ServiceImpl<SchoolXteachingAchievementsMapper,SchoolXteachingAchievements> implements ISchoolXteachingAchievementsService
{ {
@Autowired @Autowired
private SchoolXteachingAchievementsMapper schoolXteachingAchievementsMapper; private SchoolXteachingAchievementsMapper schoolXteachingAchievementsMapper;
@Autowired
private SysDictDataMapper sysDictDataMapper;
@Autowired
private SchoolTeacherMapper schoolTeacherMapper;
private Logger log = LoggerFactory.getLogger(SchoolXteachingAchievementsServiceImpl.class);
/** /**
* 查询教学成绩 * 查询教学成绩
...@@ -27,7 +55,7 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA ...@@ -27,7 +55,7 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA
* @return 教学成绩 * @return 教学成绩
*/ */
@Override @Override
public SchoolXteachingAchievements selectSchoolXteachingAchievementsById(Long id) public SchoolXteachingAchievementsVo selectSchoolXteachingAchievementsById(Long id)
{ {
return schoolXteachingAchievementsMapper.selectSchoolXteachingAchievementsById(id); return schoolXteachingAchievementsMapper.selectSchoolXteachingAchievementsById(id);
} }
...@@ -35,13 +63,13 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA ...@@ -35,13 +63,13 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA
/** /**
* 查询教学成绩列表 * 查询教学成绩列表
* *
* @param schoolXteachingAchievements 教学成绩 * @param schoolXteachingAchievementsVo 教学成绩
* @return 教学成绩 * @return 教学成绩
*/ */
@Override @Override
public List<SchoolXteachingAchievements> selectSchoolXteachingAchievementsList(SchoolXteachingAchievements schoolXteachingAchievements) public List<SchoolXteachingAchievementsVo> selectSchoolXteachingAchievementsList(SchoolXteachingAchievementsVo schoolXteachingAchievementsVo)
{ {
return schoolXteachingAchievementsMapper.selectSchoolXteachingAchievementsList(schoolXteachingAchievements); return schoolXteachingAchievementsMapper.selectSchoolXteachingAchievementsList(schoolXteachingAchievementsVo);
} }
/** /**
...@@ -51,8 +79,32 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA ...@@ -51,8 +79,32 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertSchoolXteachingAchievements(SchoolXteachingAchievements schoolXteachingAchievements) public int insertSchoolXteachingAchievements(SchoolXteachingAchievements schoolXteachingAchievements)
{ {
//根据身份证号查询用户,是否存在
SchoolTeacher schoolTeacher = schoolTeacherMapper.selectTeacher(schoolXteachingAchievements.getIdCard());
if (StringUtils.isNull(schoolTeacher)){
throw new ServiceException("用户不存在,请重新输入!");
} else if (!schoolTeacher.getTeacherName().contains(schoolXteachingAchievements.getUserName())){
throw new ServiceException("姓名和身份证姓名不匹配,请重新输入!");
}
schoolXteachingAchievements.setUserId(schoolTeacher.getId());
//判断班级是否正确
String className = schoolXteachingAchievements.getClassName();
//将所有中文逗号替换成英文逗号
String newClassName = className.replaceAll(",", ",");
String[] split = newClassName.split(",");
for (int i = 0; i < split.length; i++) {
if (!split[i].matches("\\d+")){
throw new ServiceException("班级输入错误,请重新输入!");
}
}
//判断考核分是否正确
if (!schoolXteachingAchievements.getAssessmentScore().toString().matches("\\d+(\\.\\d+)?")){
throw new ServiceException("考核分输入错误,请重新输入!");
}
schoolXteachingAchievements.setCreateBy(SecurityUtils.getUsername());
schoolXteachingAchievements.setCreateTime(DateUtils.getNowDate()); schoolXteachingAchievements.setCreateTime(DateUtils.getNowDate());
return schoolXteachingAchievementsMapper.insertSchoolXteachingAchievements(schoolXteachingAchievements); return schoolXteachingAchievementsMapper.insertSchoolXteachingAchievements(schoolXteachingAchievements);
} }
...@@ -64,8 +116,32 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA ...@@ -64,8 +116,32 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateSchoolXteachingAchievements(SchoolXteachingAchievements schoolXteachingAchievements) public int updateSchoolXteachingAchievements(SchoolXteachingAchievements schoolXteachingAchievements)
{ {
//根据身份证号查询用户,是否存在
SchoolTeacher schoolTeacher = schoolTeacherMapper.selectTeacher(schoolXteachingAchievements.getIdCard());
if (StringUtils.isNull(schoolTeacher)){
throw new ServiceException("用户不存在,请重新输入!");
} else if (!schoolTeacher.getTeacherName().contains(schoolXteachingAchievements.getUserName())){
throw new ServiceException("姓名和身份证姓名不匹配,请重新输入!");
}
schoolXteachingAchievements.setUserId(schoolTeacher.getId());
//判断班级是否正确
String className = schoolXteachingAchievements.getClassName();
//将所有中文逗号替换成英文逗号
String newClassName = className.replaceAll(",", ",");
String[] split = newClassName.split(",");
for (int i = 0; i < split.length; i++) {
if (!split[i].matches("\\d+")){
throw new ServiceException("班级输入错误,请重新输入!");
}
}
//判断考核分是否正确
if (!schoolXteachingAchievements.getAssessmentScore().toString().matches("\\d+(\\.\\d+)?")){
throw new ServiceException("考核分输入错误,请重新输入!");
}
schoolXteachingAchievements.setUpdateBy(SecurityUtils.getUsername());
schoolXteachingAchievements.setUpdateTime(DateUtils.getNowDate()); schoolXteachingAchievements.setUpdateTime(DateUtils.getNowDate());
return schoolXteachingAchievementsMapper.updateSchoolXteachingAchievements(schoolXteachingAchievements); return schoolXteachingAchievementsMapper.updateSchoolXteachingAchievements(schoolXteachingAchievements);
} }
...@@ -93,4 +169,236 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA ...@@ -93,4 +169,236 @@ public class SchoolXteachingAchievementsServiceImpl implements ISchoolXteachingA
{ {
return schoolXteachingAchievementsMapper.deleteSchoolXteachingAchievementsById(id); return schoolXteachingAchievementsMapper.deleteSchoolXteachingAchievementsById(id);
} }
/**
* 获取所有用户
* @return
*/
@Override
public List<Map<String, Object>> getUserList(SysUser sysUser) {
return schoolXteachingAchievementsMapper.getUserList(sysUser);
}
/**
* 下载模板
* @param response
*/
@Override
public void importTemplate(HttpServletResponse response) {
// 以流的形式下载文件。
try {
//读取文件
InputStream resourceAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file/教学成绩导入模板.xlsx");
InputStream fis = new BufferedInputStream(resourceAsStream);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.setHeader("Content-Disposition", "attachment;filename="+java.net.URLEncoder.encode("教学成绩导入模板.xlsx", "utf-8"));
//response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + buffer.length);
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException e) {
log.info(e.getMessage());
}
}
/**
* 校验教学成绩数据
* @param list
*/
@Override
public void checkImport(List<SchoolXteachingAchievements> list) {
//检验是否为空
if (StringUtils.isNull(list) || list.size() == 0) {
throw new ServiceException("导入数据不能为空");
}
//查询学期字典键值
List<SysDictData> semester = sysDictDataMapper.selectDictDataByType("semester_jsdzda");
//查询考试类型字典键值
List<SysDictData> examType = sysDictDataMapper.selectDictDataByType("exam_typeda");
//查询年级字典键值
List<SysDictData> grade = sysDictDataMapper.selectDictDataByType("grade_da");
//查询学科字典键值
List<SysDictData> sub = sysDictDataMapper.selectDictDataByType("sub_dzdn");
//查询班级类型字典键值
List<SysDictData> type = sysDictDataMapper.selectDictDataByType("class_type");
// 准备记录日志数据
int failureNum = 0;
StringBuilder failureMsg = new StringBuilder();
for (SchoolXteachingAchievements schoolXteachingAchievements : list) {
if (StringUtils.isNull(schoolXteachingAchievements.getSchoolYear())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学年为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getSemester())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学期为空,请您重新输入! ");
} else if (StringUtils.isNull(schoolXteachingAchievements.getExamTime())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、考试时间为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getExamType())) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、考试类型为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getYear())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、届别为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getGrade())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、年级为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getUserName())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、姓名为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getIdCard())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、身份证号为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getSub())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学科为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getClassName())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、班级为空,请您重新输入! ");
} else if (StringUtils.isEmpty(schoolXteachingAchievements.getClassType())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、班级类型为空,请您重新输入! ");
} else if (StringUtils.isNull(schoolXteachingAchievements.getAssessmentScore())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、考核分为空,请您重新输入! ");
} else {
//判断学年输入是否正确
String schoolYear = schoolXteachingAchievements.getSchoolYear();
if (!schoolYear.contains("-")){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学年输入格式错误,请您重新输入! ");
}else {
String[] split = schoolYear.split("-");
if (split.length > 2){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学年输入格式错误,请您重新输入! ");
} else if (!(split[0].matches("\\d+") && split[1].matches("\\d+"))){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学年输入格式错误,请您重新输入! ");
}
}
//判断学期是否正确
for (SysDictData sysDictData : semester) {
if (!sysDictData.getDictValue().equals(schoolXteachingAchievements.getSemester())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学期输入错误,请您重新输入! ");
}
}
//判断考试时间是否符合格式
Date examTime = schoolXteachingAchievements.getExamTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
sdf.parse(examTime.toString());
} catch (ParseException e) {
failureNum++;
failureMsg.append("<br/>" + failureNum + "、考试时间输入格式有误,请您重新输入! ");
}
//判断考试类型是否正确
for (SysDictData sysDictData : examType) {
if (!sysDictData.getDictValue().equals(schoolXteachingAchievements.getExamType())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、考试类型输入错误,请您重新输入! ");
}
}
//判断届别是否正确
if (!schoolXteachingAchievements.getYear().matches("\\d+")){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、届别输入错误,请您重新输入! ");
}
//判断年级是否正确
for (SysDictData sysDictData : grade) {
if (!sysDictData.getDictValue().equals(schoolXteachingAchievements.getGrade())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、年级输入错误,请您重新输入! ");
}
}
//判断学科是否正确
for (SysDictData sysDictData : sub) {
if (!sysDictData.getDictValue().equals(schoolXteachingAchievements.getSub())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、学科输入错误,请您重新输入! ");
}
}
//判断班级是否正确
String className = schoolXteachingAchievements.getClassName();
//将所有中文逗号替换成英文逗号
String newClassName = className.replaceAll(",", ",");
String[] split = newClassName.split(",");
for (int i = 0; i < split.length; i++) {
if (!split[i].matches("\\d+")){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、班级输入错误,请您重新输入! ");
}
}
//判断班级类型是否正确
String classType = schoolXteachingAchievements.getClassType();
//将所有中文逗号换成英文逗号
String newClassType = classType.replaceAll(",", ",");
String[] split1 = newClassType.split(",");
for (String ctype : split1) {
for (SysDictData sysDictData : type) {
if (!ctype.equals(sysDictData.getDictLabel())){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、班级类型输入错误,请您重新输入! ");
}
}
}
//判断考核分是否正确
if (!schoolXteachingAchievements.getAssessmentScore().toString().matches("\\d+(\\.\\d+)?")){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、考核分输入错误,请您重新输入! ");
}
//根据身份证号查询用户,是否存在
SchoolTeacher schoolTeacher = schoolTeacherMapper.selectTeacher(schoolXteachingAchievements.getIdCard());
if (StringUtils.isNull(schoolTeacher)){
failureNum++;
failureMsg.append("<br/>" + failureNum + "、姓名为" + schoolXteachingAchievements.getUserName() + "的用户不存在,请您重新输入! ");
} else if (!schoolTeacher.getTeacherName().contains(schoolXteachingAchievements.getUserName())){
//判断输入的姓名与身份证查出来的用户名是否匹配
failureNum++;
failureMsg.append("<br/>" + failureNum + "、姓名为" + schoolXteachingAchievements.getUserName() + "的用户不存在,请您重新输入! ");
}
schoolXteachingAchievements.setUserId(schoolTeacher.getId());
}
}
if (failureNum > 0) {
failureMsg.insert(0, "很抱歉,导入失败!共" + failureNum + "条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
}
}
/**
* 导入教学成绩数据
* @param list
* @return
*/
@Override
public String importData(List<SchoolXteachingAchievements> list) {
StringBuilder successMsg = new StringBuilder();
//批量导入年度考核数据
boolean b = saveBatch(list);
if (!b){
throw new ServiceException("导入失败");
}
successMsg.insert(0, "恭喜您,数据已导入成功!");
return successMsg.toString();
}
} }
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentReq;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo;
import java.util.List;
/**
* 班主任考核Service接口
*
* @author ruoyi
* @date 2023-12-12
*/
public interface ISchoolAclassTeacherAssessmentService extends IService<SchoolAclassTeacherAssessment>
{
/**
* 查询班主任考核
*
* @param id 班主任考核主键
* @return 班主任考核
*/
public SchoolAclassTeacherAssessment selectSchoolAclassTeacherAssessmentById(Long id);
/**
* 查询班主任考核列表
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 班主任考核集合
*/
public List<SchoolAclassTeacherAssessmentVo> selectSchoolAclassTeacherAssessmentList(SchoolAclassTeacherAssessmentReq req);
public List<SchoolAclassTeacherAssessment> selectSchoolList(SchoolAclassTeacherAssessmentReq req);
/**
* 新增班主任考核
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 结果
*/
public int insertSchoolAclassTeacherAssessment(SchoolAclassTeacherAssessment schoolAclassTeacherAssessment);
/**
* 修改班主任考核
*
* @param schoolAclassTeacherAssessment 班主任考核
* @return 结果
*/
public int updateSchoolAclassTeacherAssessment(SchoolAclassTeacherAssessment schoolAclassTeacherAssessment);
/**
* 批量删除班主任考核
*
* @param ids 需要删除的班主任考核主键集合
* @return 结果
*/
public int deleteSchoolAclassTeacherAssessmentByIds(Long[] ids);
/**
* 删除班主任考核信息
*
* @param id 班主任考核主键
* @return 结果
*/
public int deleteSchoolAclassTeacherAssessmentById(Long id);
}
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.extension.service.IService;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkload;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo;
import java.util.List;
/**
* 工作量信息Service接口
*
* @author ruoyi
* @date 2023-12-11
*/
public interface ISchoolAworkloadService extends IService<SchoolAworkload>
{
/**
* 查询工作量信息
*
* @param id 工作量信息主键
* @return 工作量信息
*/
public SchoolAworkload selectSchoolAworkloadById(Long id);
/**
* 查询工作量信息列表
*
* @param schoolAworkload 工作量信息
* @return 工作量信息集合
*/
public List<SchoolAworkloadVo> selectSchoolAworkloadList(SchoolAworkload schoolAworkload);
//导出列表
public List<SchoolAworkloadExport> selectAworkloadList(SchoolAworkload schoolAworkload);
/**
* 新增工作量信息
*
* @param schoolAworkload 工作量信息
* @return 结果
*/
public int insertSchoolAworkload(SchoolAworkload schoolAworkload);
/**
* 修改工作量信息
*
* @param schoolAworkload 工作量信息
* @return 结果
*/
public int updateSchoolAworkload(SchoolAworkload schoolAworkload);
/**
* 批量删除工作量信息
*
* @param ids 需要删除的工作量信息主键集合
* @return 结果
*/
public int deleteSchoolAworkloadByIds(Long[] ids);
/**
* 删除工作量信息信息
*
* @param id 工作量信息主键
* @return 结果
*/
public int deleteSchoolAworkloadById(Long id);
}
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXacademicWorks;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXacademicWorksVo;
import java.util.List; import java.util.List;
/** /**
...@@ -17,15 +19,15 @@ public interface ISchoolXacademicWorksService ...@@ -17,15 +19,15 @@ public interface ISchoolXacademicWorksService
* @param id 论文著作主键 * @param id 论文著作主键
* @return 论文著作 * @return 论文著作
*/ */
public SchoolXacademicWorks selectSchoolXacademicWorksById(Long id); public SchoolXacademicWorksVo selectSchoolXacademicWorksById(Long id);
/** /**
* 查询论文著作列表 * 查询论文著作列表
* *
* @param schoolXacademicWorks 论文著作 * @param schoolXacademicWorksVo 论文著作
* @return 论文著作集合 * @return 论文著作集合
*/ */
public List<SchoolXacademicWorks> selectSchoolXacademicWorksList(SchoolXacademicWorks schoolXacademicWorks); public List<SchoolXacademicWorksVo> selectSchoolXacademicWorksList(SchoolXacademicWorksVo schoolXacademicWorksVo);
/** /**
* 新增论文著作 * 新增论文著作
...@@ -58,4 +60,12 @@ public interface ISchoolXacademicWorksService ...@@ -58,4 +60,12 @@ public interface ISchoolXacademicWorksService
* @return 结果 * @return 结果
*/ */
public int deleteSchoolXacademicWorksById(Long id); public int deleteSchoolXacademicWorksById(Long id);
/**
* 审核
* @param schoolXacademicWorks
* @return
*/
int audit(SchoolXacademicWorks schoolXacademicWorks);
} }
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXcomprehensiveHonors;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsVo;
import java.util.List; import java.util.List;
...@@ -18,15 +19,15 @@ public interface ISchoolXcomprehensiveHonorsService ...@@ -18,15 +19,15 @@ public interface ISchoolXcomprehensiveHonorsService
* @param id 综合荣誉主键 * @param id 综合荣誉主键
* @return 综合荣誉 * @return 综合荣誉
*/ */
public SchoolXcomprehensiveHonors selectSchoolXcomprehensiveHonorsById(Long id); public SchoolXcomprehensiveHonorsVo selectSchoolXcomprehensiveHonorsById(Long id);
/** /**
* 查询综合荣誉列表 * 查询综合荣誉列表
* *
* @param schoolXcomprehensiveHonors 综合荣誉 * @param schoolXcomprehensiveHonorsVo 综合荣誉
* @return 综合荣誉集合 * @return 综合荣誉集合
*/ */
public List<SchoolXcomprehensiveHonors> selectSchoolXcomprehensiveHonorsList(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors); public List<SchoolXcomprehensiveHonorsVo> selectSchoolXcomprehensiveHonorsList(SchoolXcomprehensiveHonorsVo schoolXcomprehensiveHonorsVo);
/** /**
* 新增综合荣誉 * 新增综合荣誉
...@@ -59,4 +60,12 @@ public interface ISchoolXcomprehensiveHonorsService ...@@ -59,4 +60,12 @@ public interface ISchoolXcomprehensiveHonorsService
* @return 结果 * @return 结果
*/ */
public int deleteSchoolXcomprehensiveHonorsById(Long id); public int deleteSchoolXcomprehensiveHonorsById(Long id);
/**
* 审核
* @param schoolXcomprehensiveHonors
* @return
*/
int audit(SchoolXcomprehensiveHonors schoolXcomprehensiveHonors);
} }
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXlectureAwards;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXlectureAwardsVo;
import java.util.List; import java.util.List;
...@@ -18,15 +19,15 @@ public interface ISchoolXlectureAwardsService ...@@ -18,15 +19,15 @@ public interface ISchoolXlectureAwardsService
* @param id 讲课获奖主键 * @param id 讲课获奖主键
* @return 讲课获奖 * @return 讲课获奖
*/ */
public SchoolXlectureAwards selectSchoolXlectureAwardsById(Long id); public SchoolXlectureAwardsVo selectSchoolXlectureAwardsById(Long id);
/** /**
* 查询讲课获奖列表 * 查询讲课获奖列表
* *
* @param schoolXlectureAwards 讲课获奖 * @param schoolXlectureAwardsVo 讲课获奖
* @return 讲课获奖集合 * @return 讲课获奖集合
*/ */
public List<SchoolXlectureAwards> selectSchoolXlectureAwardsList(SchoolXlectureAwards schoolXlectureAwards); public List<SchoolXlectureAwardsVo> selectSchoolXlectureAwardsList(SchoolXlectureAwardsVo schoolXlectureAwardsVo);
/** /**
* 新增讲课获奖 * 新增讲课获奖
...@@ -59,4 +60,11 @@ public interface ISchoolXlectureAwardsService ...@@ -59,4 +60,11 @@ public interface ISchoolXlectureAwardsService
* @return 结果 * @return 结果
*/ */
public int deleteSchoolXlectureAwardsById(Long id); public int deleteSchoolXlectureAwardsById(Long id);
/**
* 审核
* @param schoolXlectureAwards
* @return
*/
int audit(SchoolXlectureAwards schoolXlectureAwards);
} }
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteacherAwards;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteacherAwardsVo;
import java.util.List; import java.util.List;
...@@ -18,15 +19,15 @@ public interface ISchoolXteacherAwardsService ...@@ -18,15 +19,15 @@ public interface ISchoolXteacherAwardsService
* @param id 教师获奖主键 * @param id 教师获奖主键
* @return 教师获奖 * @return 教师获奖
*/ */
public SchoolXteacherAwards selectSchoolXteacherAwardsById(Long id); public SchoolXteacherAwardsVo selectSchoolXteacherAwardsById(Long id);
/** /**
* 查询教师获奖列表 * 查询教师获奖列表
* *
* @param schoolXteacherAwards 教师获奖 * @param schoolXteacherAwardsVo 教师获奖
* @return 教师获奖集合 * @return 教师获奖集合
*/ */
public List<SchoolXteacherAwards> selectSchoolXteacherAwardsList(SchoolXteacherAwards schoolXteacherAwards); public List<SchoolXteacherAwardsVo> selectSchoolXteacherAwardsList(SchoolXteacherAwardsVo schoolXteacherAwardsVo);
/** /**
* 新增教师获奖 * 新增教师获奖
...@@ -59,4 +60,11 @@ public interface ISchoolXteacherAwardsService ...@@ -59,4 +60,11 @@ public interface ISchoolXteacherAwardsService
* @return 结果 * @return 结果
*/ */
public int deleteSchoolXteacherAwardsById(Long id); public int deleteSchoolXteacherAwardsById(Long id);
/**
* 审核
* @param schoolXteacherAwards
* @return
*/
int audit(SchoolXteacherAwards schoolXteacherAwards);
} }
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn; package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.entity.SysUser;
import yangtz.cs.liu.campus.domain.schoolAnnualAssessment.SchoolAnnualAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolXteachingAchievements;
import yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteachingAchievementsVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 教学成绩Service接口 * 教学成绩Service接口
...@@ -10,7 +16,7 @@ import java.util.List; ...@@ -10,7 +16,7 @@ import java.util.List;
* @author ruoyi * @author ruoyi
* @date 2023-12-06 * @date 2023-12-06
*/ */
public interface ISchoolXteachingAchievementsService public interface ISchoolXteachingAchievementsService extends IService<SchoolXteachingAchievements>
{ {
/** /**
* 查询教学成绩 * 查询教学成绩
...@@ -18,15 +24,15 @@ public interface ISchoolXteachingAchievementsService ...@@ -18,15 +24,15 @@ public interface ISchoolXteachingAchievementsService
* @param id 教学成绩主键 * @param id 教学成绩主键
* @return 教学成绩 * @return 教学成绩
*/ */
public SchoolXteachingAchievements selectSchoolXteachingAchievementsById(Long id); public SchoolXteachingAchievementsVo selectSchoolXteachingAchievementsById(Long id);
/** /**
* 查询教学成绩列表 * 查询教学成绩列表
* *
* @param schoolXteachingAchievements 教学成绩 * @param schoolXteachingAchievementsVo 教学成绩
* @return 教学成绩集合 * @return 教学成绩集合
*/ */
public List<SchoolXteachingAchievements> selectSchoolXteachingAchievementsList(SchoolXteachingAchievements schoolXteachingAchievements); public List<SchoolXteachingAchievementsVo> selectSchoolXteachingAchievementsList(SchoolXteachingAchievementsVo schoolXteachingAchievementsVo);
/** /**
* 新增教学成绩 * 新增教学成绩
...@@ -59,4 +65,29 @@ public interface ISchoolXteachingAchievementsService ...@@ -59,4 +65,29 @@ public interface ISchoolXteachingAchievementsService
* @return 结果 * @return 结果
*/ */
public int deleteSchoolXteachingAchievementsById(Long id); public int deleteSchoolXteachingAchievementsById(Long id);
/**
* 获取所有用户
* @return
*/
List<Map<String,Object>> getUserList(SysUser sysUser);
/**
* 下载模板
* @param response
*/
void importTemplate(HttpServletResponse response);
/**
* 校验导入数据
* @param list
*/
void checkImport(List<SchoolXteachingAchievements> list);
/**
* 导入数据
* @param list
* @return
*/
String importData(List<SchoolXteachingAchievements> list);
} }
package yangtz.cs.liu.campus.service.teacherFiles; package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation; import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformation;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException; import java.text.ParseException;
import java.util.List; import java.util.List;
public interface SchoolTeacherBasichlnformationService extends IService<SchoolTeacherBasicInformation> { public interface SchoolTeacherBasichlnformationService extends IService<SchoolTeacherBasicInformation> {
List<SchoolTeacherBasicInformation> list(SchoolTeacherBasicInformation information) throws Exception; List<SchoolTeacherBasicInformationVo> list(SchoolTeacherBasicInformationVo information) throws Exception;
SchoolTeacherBasicInformation getById(Long id) throws ParseException; SchoolTeacherBasicInformationVo getByIds(Long id) throws ParseException;
int updateInformationById(SchoolTeacherBasicInformation information);
/*
* 批量导入学生照片
* */
String importTeacherPicture(MultipartFile file);
List<SchoolTeacherBasicInformation> importExcel(MultipartFile inputStream) throws IOException; List<SchoolTeacherBasicInformation> importExcel(MultipartFile inputStream) throws IOException;
......
package yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class SchoolXacademicWorksVo
{
@Excel(name = "序号")
private Integer xh;
/** 成长类型 */
@Excel(name = "成长类型")
private String growthType;
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 学科 */
@Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub;
/** 获奖类别 */
@Excel(name = "获奖类别",combo = {"论著-独著","论文-公开发表","论著-合著(编者)","论文-核心期刊","论著-合著(主编)","论著-合著(副主编)","其他"},
readConverterExp = "1=论著-独著,2=论文-公开发表,3=论著-合著(编者),4=论文-核心期刊,5=论著-合著(主编),6=论著-合著(副主编),7=其他")
private String awardType;
/** 获奖级别 */
@Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank;
/** 获奖等级 */
@Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel;
/** 成果名称 */
@Excel(name = "成果名称")
private String resultName;
/** 获奖人id */
private Long userId;
/** 获奖人 */
@Excel(name = "获奖者")
private String userName;
/** 主办单位 */
@Excel(name = "主办单位")
private String org;
/** 获奖时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "获奖时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date awardTime;
/** 备注 */
@Excel(name = "备注")
private String remark;
/** 证书图片名称 */
private String pictureName;
/** 证书图片地址 */
private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 删除状态 */
private String delFlag;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
}
package yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class SchoolXcomprehensiveHonorsVo
{
@Excel(name = "序号")
private Integer xh;
/** 成长类型 */
@Excel(name = "成长类型")
private String growthType;
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 学科(下拉框) */
@Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub;
/** 获奖类别(手动输入) */
@Excel(name = "获奖类别")
private String awardType;
/** 获奖级别(下拉框) */
@Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank;
/** 获奖等级(下拉框) */
@Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel;
/** 成果名称 */
@Excel(name = "成果名称")
private String resultName;
/** 获奖人id */
private Long userId;
/** 获奖人 */
@Excel(name = "获奖者")
private String userName;
/** 主办单位 */
@Excel(name = "主办单位")
private String org;
/** 获奖时间(年月日) */
@Excel(name = "获奖时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date awardTime;
/** 备注 */
@Excel(name = "备注")
private String remark;
/** 证书图片名称 */
private String pictureName;
/** 证书图片地址 */
private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 删除状态 */
private String delFlag;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
}
package yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class SchoolXlectureAwardsVo
{
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 序号 */
@Excel(name = "序号")
private Integer xh;
/** 成长类型 */
@Excel(name = "成长类型")
private String growthType;
/** 学科 */
@Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub;
/** 获奖类别 */
@Excel(name = "获奖类别",combo = {"优质课","公开课","优课","其他","说课","经验介绍","示范课"},readConverterExp = "1=优质课,2=公开课,3=优课,4=其他,5=说课,6=经验介绍,7=示范课")
private String awardType;
/** 获奖级别 */
@Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank;
/** 获奖等级 */
@Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel;
/** 成果名称 */
@Excel(name = "成果名称")
private String resultName;
/** 获奖人id */
private Long userId;
/** 获奖人 */
@Excel(name = "获奖者")
private String userName;
/** 主办单位 */
@Excel(name = "主办单位")
private String org;
/** 获奖时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "获奖时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date awardTime;
/** 备注 */
@Excel(name = "备注")
private String remark;
/** 证书图片名称 */
private String pictureName;
/** 证书图片地址 */
private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 删除状态 */
private String delFlag;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
}
package yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class SchoolXteacherAwardsVo
{
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/** 序号 */
@Excel(name = "序号")
private Integer xh;
/** 成长类型 */
@Excel(name = "成长类型")
private String growthType;
/** 学科 */
@Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub;
/** 获奖类别 */
@Excel(name = "获奖类别",combo = {"学科带头人","教学能手","教学科研专家","教学科研成果","增量优秀班主任","高考功勋班主任","教学资源","其他","高考功勋教师",
"增量优秀教师","市高考评奖"},readConverterExp = "1=学科带头人,2=教学能手,3=教学科研专家,4=教学科研成果,5=增量优秀班主任,6=高考功勋班主任,7=教学资源," +
"8=其他,9=高考功勋教师,10=增量优秀教师,11=市高考评奖")
private String awardType;
/** 获奖级别 */
@Excel(name = "获奖级别",combo = {"国家级","省部级","市级","县区级","校级","其他"},readConverterExp = "1=国家级,2=省部级,3=市级,4=县区级,5=校级,6=其他")
private String awardRank;
/** 获奖等级 */
@Excel(name = "获奖等级",combo = {"特等奖","一等奖","二等奖","三等奖","优秀奖","不设等级"},readConverterExp = "1=特等奖,2=一等奖,3=二等级,4=三等奖,5=优秀奖,6=不设等级")
private String awardLevel;
/** 成果名称 */
@Excel(name = "成果名称")
private String resultName;
/** 获奖人id */
private Long userId;
/** 获奖人 */
@Excel(name = "获奖者")
private String userName;
/** 主办单位 */
@Excel(name = "主办单位")
private String org;
/** 获奖时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "获奖时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date awardTime;
/** 备注 */
@Excel(name = "备注")
private String remark;
/** 证书图片名称 */
private String pictureName;
/** 证书图片地址 */
private String pictureUrl;
/** 审核状态(0未提交,1审核中,2通过,3驳回) */
private String auditState;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 删除状态 */
private String delFlag;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
}
package yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class SchoolXteachingAchievementsVo {
/** 主键id */
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@Excel(name = "序号")
private Integer xh;
/** 学年(下拉框) */
@Excel(name = "学年",combo = {"2018-2019","2019-2020","2020-2021","2021-2022","2022-2023","2023-2024","2024-2025","2025-2026",
"2026-2027","2027-2028","2028-2029","2029-2030","2030-2031","2031-2032","2032-2033"})
private String schoolYear;
/** 学期(下拉框) */
@Excel(name = "学期",combo = {"第一学期","第二学期"}, readConverterExp = "1=第一学期,2=第二学期")
private String semester;
/** 考试时间(年月日) */
@Excel(name = "考试时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date examTime;
/** 考试类型(下拉框) */
@Excel(name = "考试类型",combo = {"月考","期中","期末","一模","二模","三模","高考","其它"},
readConverterExp = "1=月考,2=期中,3=期末,4=一模,5=二模,6=三模,7=高考,8=其它")
private String examType;
/** 届别(下拉框) */
@Excel(name = "届别", combo = {"2018","2019","2020","2021","2022","2023","2024","2025","2026","2027","2028","2029","2030","2031","2032","2033"})
private String year;
/** 年级(下拉框) */
@Excel(name = "年级", combo = {"高一","高二","高三"})
private String grade;
/** 用户id */
private Long userId;
/** 用户姓名 */
@Excel(name = "姓名")
private String userName;
/** 身份证号 */
private String idCard;
/** 学科 */
@Excel(name = "学科",combo = {"语文","数学","英语","物理","化学","生物","政治","历史","地理","音乐","体育","美术","技术","心理","书法"},
readConverterExp = "1=语文,2=数学,3=英语,4=物理,5=化学,6=生物,7=政治,8=历史,9=地理,10=音乐,11=体育,12=美术,13=技术,14=心理,15=书法")
private String sub;
/** 班级 */
@Excel(name = "班级")
private String className;
/** 班级类型 */
@Excel(name = "班级类型")
private String classType;
/** 考核分 */
@Excel(name = "考核分")
private BigDecimal assessmentScore;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 备注 */
private String remark;
/** 删除状态 */
private String delFlag;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
}
...@@ -2,6 +2,8 @@ package yangtz.cs.liu.wechat.controller.courseSelection; ...@@ -2,6 +2,8 @@ package yangtz.cs.liu.wechat.controller.courseSelection;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -38,69 +40,76 @@ public class WxCouresSelection { ...@@ -38,69 +40,76 @@ public class WxCouresSelection {
ICurriculaVariableService iCurriculaVariableService; ICurriculaVariableService iCurriculaVariableService;
/** /**
* 学生选信息查询 * 学生选信息查询
*/ */
@GetMapping("/getCourseInfo/{studentId}/{id}") @GetMapping("/getCourseInfo/{studentId}")
private AjaxResult getCourseInfo(@PathVariable("studentId") Long studentId,@PathVariable("id") Long id) { private AjaxResult getCourseInfo(@PathVariable("studentId") Long studentId) {
List<CurriclaStudentVo> CurriclaStudentVoList = new ArrayList<>();
//查询学生个人选课信息 //查询学生个人选课信息
LambdaQueryWrapper<CurriculaStudent> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CurriculaStudent> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CurriculaStudent::getStudentId, studentId); wrapper.eq(CurriculaStudent::getStudentId, studentId);
wrapper.eq(CurriculaStudent::getDelFlag, "0"); wrapper.eq(CurriculaStudent::getDelFlag, "0");
wrapper.eq(CurriculaStudent::getCurriculaId, id);
//查询出学生任务信息 //查询出学生任务信息
CurriculaStudent one = iCurriculaStudentService.getOne(wrapper); List<CurriculaStudent> list = iCurriculaStudentService.list(wrapper);
//判断当前学生是否可以选课 //判断当前学生是否可以选课
Boolean flag = false; Boolean flag = false;
Boolean stats = false;
CurriculaVariable byId = null; CurriculaVariable byId = null;
//1.是否有选课任务 //1.是否有选课任务
if (null == one) { if (list.isEmpty()) {
flag = true; flag = true;
} }
//是否在选课时间内 //是否在选课时间内
if (null != one) { if (!list.isEmpty()) {
byId = iCurriculaVariableService.getById(one.getCurriculaId()); for (CurriculaStudent dates :list){
//查询选课信息 byId = iCurriculaVariableService.getById(dates.getCurriculaId());
if (null == byId) { //查询选课信息
return AjaxResult.error("选课主题丢失,请联系管理员"); if (null == byId) {
} return AjaxResult.error("选课主题丢失,请联系管理员");
//设置当前时间 }
Calendar date = Calendar.getInstance();
date.setTime(new Date());
//开始时间
Calendar startDade = Calendar.getInstance();
startDade.setTime(byId.getStartTime());
//结束时间
Calendar endDade = Calendar.getInstance();
endDade.setTime(byId.getEndTime());
//处于开始时间之后,和结束时间之前的判断
if ((date.after(startDade) && date.before(endDade))) {
flag = false;
} else {
flag = true;
}
//判断当前否结束选课
if (date.after(endDade)){
flag=false;
stats = true;
}
}
if (flag) {
return new AjaxResult(2000, "当前没有选课任务");
}
//设置当前时间
Calendar date = Calendar.getInstance();
date.setTime(new Date());
//开始时间
Calendar startDade = Calendar.getInstance();
startDade.setTime(byId.getStartTime());
//结束时间
Calendar endDade = Calendar.getInstance();
endDade.setTime(byId.getEndTime());
//处于开始时间之后,和结束时间之前的判断
if ((date.after(startDade) && date.before(endDade))) {
flag = false;
} else {
flag = true;
}
//判断当前否结束选课
if (date.after(endDade)){
flag=true;
}
//判断当时时间是否选课之后 //判断当时时间是否选课之后
CurriclaStudentVo data = new CurriclaStudentVo(); CurriclaStudentVo data = new CurriclaStudentVo();
//拼接返回对象 //拼接返回对象
BeanUtils.copyProperties(one, data); BeanUtils.copyProperties(dates, data);
BeanUtils.copyProperties(byId, data); BeanUtils.copyProperties(byId, data);
data.setId(one.getId()); data.setId(dates.getId());
data.setFlag(stats); data.setFlag(flag);
return AjaxResult.success(data); CurriclaStudentVoList.add(data);
}
}
return AjaxResult.success(CurriclaStudentVoList);
} }
/** /**
* 学生选课信息查询
*/
@GetMapping("/getStudenCoures/{id}")
public AjaxResult getStudenCoures(@PathVariable("id") Long id){
return AjaxResult.success(iCurriculaStudentService.getById(id));
}
/**
* 学生选课课程展示 * 学生选课课程展示
*/ */
@GetMapping("/getCurriculaSub/{id}") @GetMapping("/getCurriculaSub/{id}")
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentMapper">
<resultMap type="SchoolAclassTeacherAssessment" id="SchoolAclassTeacherAssessmentResult">
<result property="id" column="id" />
<result property="semester" column="semester" />
<result property="year" column="year" />
<result property="schoolYear" column="school_year" />
<result property="grade" column="grade" />
<result property="className" column="class_name" />
<result property="teacherName" column="teacher_name" />
<result property="idCard" column="id_card" />
<result property="moralEduCheckAchievement" column="moral_edu_check_achievement" />
<result property="intellEduCheckAchievement" column="intell_edu_check_achievement" />
<result property="totalCheckAchievement" column="total_check_achievement" />
<result property="classType" column="class_type" />
<result property="sub" column="sub" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSchoolAclassTeacherAssessmentVo">
select id, semester, year, school_year, grade, class_name, teacher_name, id_card, moral_edu_check_achievement, intell_edu_check_achievement, total_check_achievement, class_type, sub, remark, create_by, create_time, update_by, update_time, del_flag from school_aclass_teacher_assessment
</sql>
<select id="selectSchoolAclassTeacherAssessmentList" parameterType="SchoolAclassTeacherAssessmentReq" resultType="yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo">
<include refid="selectSchoolAclassTeacherAssessmentVo"/>
where del_flag = 0
<if test="teacherName != null and teacherName != ''"> and teacher_name like concat('%', #{teacherName}, '%')</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="year != null and year != ''"> and year = #{year}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if>
<if test="classType != null and classType != ''"> and class_type = #{classType}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="moralEduCheckAchievement != null and moralEduCheckAchievement != ''"> and moral_edu_check_achievement = #{moralEduCheckAchievement}</if>
<if test="moralEduCheckAchievementgt != null and moralEduCheckAchievementgt != ''"> and moral_edu_check_achievement &gt; #{moralEduCheckAchievementgt}</if>
<if test="moralEduCheckAchievementgtd != null and moralEduCheckAchievementgtd != ''"> and moral_edu_check_achievement &gt;= #{moralEduCheckAchievementgtd}</if>
<if test="moralEduCheckAchievementlt != null and moralEduCheckAchievementlt != ''"> and moral_edu_check_achievement &lt; #{moralEduCheckAchievementlt}</if>
<if test="moralEduCheckAchievementltd != null and moralEduCheckAchievementltd != ''"> and moral_edu_check_achievement &lt;= #{moralEduCheckAchievementltd}</if>
<if test="intellEduCheckAchievement != null and intellEduCheckAchievement != ''"> and intell_edu_check_achievement = #{intellEduCheckAchievement}</if>
<if test="intellEduCheckAchievementgt != null and intellEduCheckAchievementgt != ''"> and intell_edu_check_achievement &gt; #{intellEduCheckAchievementgt}</if>
<if test="intellEduCheckAchievementgtd != null and intellEduCheckAchievementgtd != ''"> and intell_edu_check_achievement &gt;= #{intellEduCheckAchievementgtd}</if>
<if test="intellEduCheckAchievementlt != null and intellEduCheckAchievementlt != ''"> and intell_edu_check_achievement &lt; #{intellEduCheckAchievementlt}</if>
<if test="intellEduCheckAchievementltd != null and intellEduCheckAchievementltd != ''"> and intell_edu_check_achievement &lt;= #{intellEduCheckAchievementltd}</if>
</select>
<select id="selectSchoolList" parameterType="SchoolAclassTeacherAssessmentReq" resultMap="SchoolAclassTeacherAssessmentResult">
<include refid="selectSchoolAclassTeacherAssessmentVo"/>
where del_flag = 0
<if test="teacherName != null and teacherName != ''"> and teacher_name like concat('%', #{teacherName}, '%')</if>
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="year != null and year != ''"> and year = #{year}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if>
<if test="classType != null and classType != ''"> and class_type = #{classType}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="moralEduCheckAchievement != null and moralEduCheckAchievement != ''"> and moral_edu_check_achievement = #{moralEduCheckAchievement}</if>
<if test="moralEduCheckAchievementgt != null and moralEduCheckAchievementgt != ''"> and moral_edu_check_achievement &gt; #{moralEduCheckAchievementgt}</if>
<if test="moralEduCheckAchievementgtd != null and moralEduCheckAchievementgtd != ''"> and moral_edu_check_achievement &gt;= #{moralEduCheckAchievementgtd}</if>
<if test="moralEduCheckAchievementlt != null and moralEduCheckAchievementlt != ''"> and moral_edu_check_achievement &lt; #{moralEduCheckAchievementlt}</if>
<if test="moralEduCheckAchievementltd != null and moralEduCheckAchievementltd != ''"> and moral_edu_check_achievement &lt;= #{moralEduCheckAchievementltd}</if>
<if test="intellEduCheckAchievement != null and intellEduCheckAchievement != ''"> and intell_edu_check_achievement = #{intellEduCheckAchievement}</if>
<if test="intellEduCheckAchievementgt != null and intellEduCheckAchievementgt != ''"> and intell_edu_check_achievement &gt; #{intellEduCheckAchievementgt}</if>
<if test="intellEduCheckAchievementgtd != null and intellEduCheckAchievementgtd != ''"> and intell_edu_check_achievement &gt;= #{intellEduCheckAchievementgtd}</if>
<if test="intellEduCheckAchievementlt != null and intellEduCheckAchievementlt != ''"> and intell_edu_check_achievement &lt; #{intellEduCheckAchievementlt}</if>
<if test="intellEduCheckAchievementltd != null and intellEduCheckAchievementltd != ''"> and intell_edu_check_achievement &lt;= #{intellEduCheckAchievementltd}</if>
</select>
<select id="selectSchoolAclassTeacherAssessmentById" parameterType="Long" resultMap="SchoolAclassTeacherAssessmentResult">
<include refid="selectSchoolAclassTeacherAssessmentVo"/>
where id = #{id} and del_flag = 0
</select>
<insert id="insertSchoolAclassTeacherAssessment" parameterType="SchoolAclassTeacherAssessment" useGeneratedKeys="true" keyProperty="id">
insert into school_aclass_teacher_assessment
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="semester != null">semester,</if>
<if test="year != null">year,</if>
<if test="schoolYear != null">school_year,</if>
<if test="grade != null">grade,</if>
<if test="className != null">class_name,</if>
<if test="teacherName != null">teacher_name,</if>
<if test="idCard != null">id_card,</if>
<if test="moralEduCheckAchievement != null">moral_edu_check_achievement,</if>
<if test="intellEduCheckAchievement != null">intell_edu_check_achievement,</if>
<if test="totalCheckAchievement != null">total_check_achievement,</if>
<if test="classType != null">class_type,</if>
<if test="sub != null">sub,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="delFlag != null and delFlag != ''">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="semester != null">#{semester},</if>
<if test="year != null">#{year},</if>
<if test="schoolYear != null">#{schoolYear},</if>
<if test="grade != null">#{grade},</if>
<if test="className != null">#{className},</if>
<if test="teacherName != null">#{teacherName},</if>
<if test="idCard != null">#{idCard},</if>
<if test="moralEduCheckAchievement != null">#{moralEduCheckAchievement},</if>
<if test="intellEduCheckAchievement != null">#{intellEduCheckAchievement},</if>
<if test="totalCheckAchievement != null">#{totalCheckAchievement},</if>
<if test="classType != null">#{classType},</if>
<if test="sub != null">#{sub},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
</trim>
</insert>
<update id="updateSchoolAclassTeacherAssessment" parameterType="SchoolAclassTeacherAssessment">
update school_aclass_teacher_assessment
<trim prefix="SET" suffixOverrides=",">
<if test="semester != null">semester = #{semester},</if>
<if test="year != null">year = #{year},</if>
<if test="schoolYear != null">school_year = #{schoolYear},</if>
<if test="grade != null">grade = #{grade},</if>
<if test="className != null">class_name = #{className},</if>
<if test="teacherName != null">teacher_name = #{teacherName},</if>
<if test="idCard != null">id_card = #{idCard},</if>
<if test="moralEduCheckAchievement != null">moral_edu_check_achievement = #{moralEduCheckAchievement},</if>
<if test="intellEduCheckAchievement != null">intell_edu_check_achievement = #{intellEduCheckAchievement},</if>
<if test="totalCheckAchievement != null">total_check_achievement = #{totalCheckAchievement},</if>
<if test="classType != null">class_type = #{classType},</if>
<if test="sub != null">sub = #{sub},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSchoolAclassTeacherAssessmentById" parameterType="Long">
delete from school_aclass_teacher_assessment where id = #{id}
</delete>
<delete id="deleteSchoolAclassTeacherAssessmentByIds" parameterType="String">
delete from school_aclass_teacher_assessment where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolAworkloadMapper">
<resultMap type="SchoolAworkload" id="SchoolAworkloadResult">
<result property="id" column="id" />
<result property="schoolYear" column="school_year" />
<result property="semester" column="semester" />
<result property="year" column="year" />
<result property="grade" column="grade" />
<result property="name" column="name" />
<result property="sub" column="sub" />
<result property="idCard" column="id_card" />
<result property="appointmentPost" column="appointment_post" />
<result property="appointmentPosition" column="appointment_position" />
<result property="appointmentSituation" column="appointment_situation" />
<result property="className" column="class_name" />
<result property="classType" column="class_type" />
<result property="earlyReading" column="early_reading" />
<result property="requiredCourses" column="required_courses" />
<result property="eveningSelfStudy" column="evening_self_study" />
<result property="userId" column="user_id" />
<result property="userName" column="user_name" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectSchoolAworkloadVo">
select id, school_year, semester, year, grade, name, sub, id_card, appointment_post, appointment_position, appointment_situation, class_name, class_type, early_reading, required_courses, evening_self_study, user_id, user_name, remark, create_by, create_time, update_by, update_time, del_flag from school_aworkload
</sql>
<select id="selectSchoolAworkloadList" parameterType="SchoolAworkload" resultType="yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo">
<include refid="selectSchoolAworkloadVo"/>
where del_flag = 0
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="year != null and year != ''"> and year = #{year}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="idCard != null and idCard != ''"> and id_card = #{idCard}</if>
<if test="appointmentPost != null and appointmentPost != ''">
and appointment_post like concat('%', #{appointmentPost}, '%')
</if>
<if test="appointmentPosition != null and appointmentPosition != ''"> and appointment_position = #{appointmentPosition}</if>
<if test="appointmentSituation != null and appointmentSituation != ''"> and appointment_situation = #{appointmentSituation}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="classType != null and classType != ''">
and class_type like concat('%', #{classType}, '%')
</if>
<if test="earlyReading != null "> and early_reading = #{earlyReading}</if>
<if test="requiredCourses != null "> and required_courses = #{requiredCourses}</if>
<if test="eveningSelfStudy != null "> and evening_self_study = #{eveningSelfStudy}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
</select>
<select id="selectAworkloadList" parameterType="SchoolAworkload" resultType="yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport">
<include refid="selectSchoolAworkloadVo"/>
where del_flag = 0
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="year != null and year != ''"> and year = #{year}</if>
<if test="grade != null and grade != ''"> and grade = #{grade}</if>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="idCard != null and idCard != ''"> and id_card = #{idCard}</if>
<if test="appointmentPost != null and appointmentPost != ''">
and appointment_post like concat('%', #{appointmentPost}, '%')
</if>
<if test="appointmentPosition != null and appointmentPosition != ''"> and appointment_position = #{appointmentPosition}</if>
<if test="appointmentSituation != null and appointmentSituation != ''"> and appointment_situation = #{appointmentSituation}</if>
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="classType != null and classType != ''">
and class_type like concat('%', #{classType}, '%')
</if>
<if test="earlyReading != null "> and early_reading = #{earlyReading}</if>
<if test="requiredCourses != null "> and required_courses = #{requiredCourses}</if>
<if test="eveningSelfStudy != null "> and evening_self_study = #{eveningSelfStudy}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
</select>
<select id="selectSchoolAworkloadById" parameterType="Long" resultMap="SchoolAworkloadResult">
<include refid="selectSchoolAworkloadVo"/>
where id = #{id} and del_flag = 0
</select>
<insert id="insertSchoolAworkload" parameterType="SchoolAworkload" useGeneratedKeys="true" keyProperty="id">
insert into school_aworkload
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="schoolYear != null">school_year,</if>
<if test="semester != null">semester,</if>
<if test="year != null">year,</if>
<if test="grade != null">grade,</if>
<if test="name != null">name,</if>
<if test="sub != null">sub,</if>
<if test="idCard != null">id_card,</if>
<if test="appointmentPost != null">appointment_post,</if>
<if test="appointmentPosition != null">appointment_position,</if>
<if test="appointmentSituation != null">appointment_situation,</if>
<if test="className != null">class_name,</if>
<if test="classType != null">class_type,</if>
<if test="earlyReading != null">early_reading,</if>
<if test="requiredCourses != null">required_courses,</if>
<if test="eveningSelfStudy != null">evening_self_study,</if>
<if test="userId != null">user_id,</if>
<if test="userName != null">user_name,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="delFlag != null and delFlag != ''">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="schoolYear != null">#{schoolYear},</if>
<if test="semester != null">#{semester},</if>
<if test="year != null">#{year},</if>
<if test="grade != null">#{grade},</if>
<if test="name != null">#{name},</if>
<if test="sub != null">#{sub},</if>
<if test="idCard != null">#{idCard},</if>
<if test="appointmentPost != null">#{appointmentPost},</if>
<if test="appointmentPosition != null">#{appointmentPosition},</if>
<if test="appointmentSituation != null">#{appointmentSituation},</if>
<if test="className != null">#{className},</if>
<if test="classType != null">#{classType},</if>
<if test="earlyReading != null">#{earlyReading},</if>
<if test="requiredCourses != null">#{requiredCourses},</if>
<if test="eveningSelfStudy != null">#{eveningSelfStudy},</if>
<if test="userId != null">#{userId},</if>
<if test="userName != null">#{userName},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
</trim>
</insert>
<update id="updateSchoolAworkload" parameterType="SchoolAworkload">
update school_aworkload
<trim prefix="SET" suffixOverrides=",">
<if test="schoolYear != null">school_year = #{schoolYear},</if>
<if test="semester != null">semester = #{semester},</if>
<if test="year != null">year = #{year},</if>
<if test="grade != null">grade = #{grade},</if>
<if test="name != null">name = #{name},</if>
<if test="sub != null">sub = #{sub},</if>
<if test="idCard != null">id_card = #{idCard},</if>
<if test="appointmentPost != null">appointment_post = #{appointmentPost},</if>
<if test="appointmentPosition != null">appointment_position = #{appointmentPosition},</if>
<if test="appointmentSituation != null">appointment_situation = #{appointmentSituation},</if>
<if test="className != null">class_name = #{className},</if>
<if test="classType != null">class_type = #{classType},</if>
<if test="earlyReading != null">early_reading = #{earlyReading},</if>
<if test="requiredCourses != null">required_courses = #{requiredCourses},</if>
<if test="eveningSelfStudy != null">evening_self_study = #{eveningSelfStudy},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="userName != null">user_name = #{userName},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSchoolAworkloadById" parameterType="Long">
delete from school_aworkload where id = #{id}
</delete>
<delete id="deleteSchoolAworkloadByIds" parameterType="String">
delete from school_aworkload where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.teacherFiles.SchoolTeacherBasichlnformationMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolTeacherBasichlnformationMapper">
<sql id="selectSchoolTeacherBasicInformationVo"> <sql id="selectSchoolTeacherBasicInformationVo">
select id, name, id_card, sex, file_birth_date, birth_date, hometown, nation, political_landscape, party_membership_time, teaching_subject, current_professional_title, current_professional_title_time, current_hiring_professional_title, current_hiring_professional_title_time, current_position, current_job_level, current_job_level_appointment_time, duties, teacher_qualification_type, teacher_qualification_certificate_num, working_hours, to_second_middle_school_time, length_of_teacher_time, length_of_service_time, on_duty_situation, current_situation, graduation_institution1, major1, graduation_time1, graduation_institution2, major2, graduation_time2, graduation_institution3, major3, graduation_time3, first_degree, last_degree, degree, work_experience, remark, photo_name, photo_url, dd_phone, del_flag from school_teacher_basic_information select id, name, id_card, sex, file_birth_date, birth_date, hometown, nation, political_landscape, party_membership_time, teaching_subject, current_professional_title, current_professional_title_time, current_hiring_professional_title, current_hiring_professional_title_time, current_position, current_job_level, current_job_level_appointment_time, duties, teacher_qualification_type, teacher_qualification_certificate_num, working_hours, to_second_middle_school_time, length_of_teacher_time, length_of_service_time, on_duty_situation, current_situation, graduation_institution1, major1, graduation_time1, graduation_institution2, major2, graduation_time2, graduation_institution3, major3, graduation_time3, first_degree, last_degree, degree, work_experience, remark, photo_name, photo_url, dd_phone, del_flag from school_teacher_basic_information
</sql> </sql>
<select id="list" resultType="yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation" parameterType="yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation"> <select id="list" resultType="yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo" parameterType="yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo">
SELECT id,name,sex,id_card,file_birth_date,political_landscape,to_second_middle_school_time,current_professional_title,last_degree,on_duty_situation FROM school_teacher_basic_information where del_flag = 0 SELECT id,name,sex,id_card,file_birth_date,political_landscape,to_second_middle_school_time,current_professional_title,last_degree,on_duty_situation FROM school_teacher_basic_information where del_flag = 0
<if test="teachingSubject != null "> and teaching_subject = #{teachingSubject}</if> <if test="teachingSubject != null "> and teaching_subject = #{teachingSubject}</if>
<if test="name != null "> <if test="name != null ">
...@@ -38,10 +38,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -38,10 +38,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectById" resultType="yangtz.cs.liu.campus.domain.teacherFiles.SchoolTeacherBasicInformation" parameterType="Long"> <select id="selectById" resultType="yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolTeacherBasicInformationVo" parameterType="Long">
<include refid="selectSchoolTeacherBasicInformationVo"/> <include refid="selectSchoolTeacherBasicInformationVo"/>
where id =#{id} where id =#{id} and del_flag = 0
</select> </select>
<update id="updateInformationById" parameterType="SchoolTeacherBasicInformation">
update school_teacher_basic_information
<trim prefix="SET" suffixOverrides=",">
<if test="name != null and name != ''">name = #{name},</if>
<if test="idCard != null and idCard != ''">id_card = #{idCard},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="fileBirthDate != null">file_birth_date = #{fileBirthDate},</if>
<if test="birthDate != null">birth_date = #{birthDate},</if>
<if test="hometown != null">hometown = #{hometown},</if>
<if test="nation != null">nation = #{nation},</if>
<if test="politicalLandscape != null">political_landscape = #{politicalLandscape},</if>
<if test="partyMembershipTime != null">party_membership_time = #{partyMembershipTime},</if>
<if test="teachingSubject != null and teachingSubject != ''">teaching_subject = #{teachingSubject},</if>
<if test="currentProfessionalTitle != null">current_professional_title = #{currentProfessionalTitle},</if>
<if test="currentProfessionalTitleTime != null">current_professional_title_time = #{currentProfessionalTitleTime},</if>
<if test="currentHiringProfessionalTitle != null">current_hiring_professional_title = #{currentHiringProfessionalTitle},</if>
<if test="currentHiringProfessionalTitleTime != null">current_hiring_professional_title_time = #{currentHiringProfessionalTitleTime},</if>
<if test="currentPosition != null">current_position = #{currentPosition},</if>
<if test="currentJobLevel != null">current_job_level = #{currentJobLevel},</if>
<if test="currentJobLevelAppointmentTime != null">current_job_level_appointment_time = #{currentJobLevelAppointmentTime},</if>
<if test="duties != null">duties = #{duties},</if>
<if test="teacherQualificationType != null">teacher_qualification_type = #{teacherQualificationType},</if>
<if test="teacherQualificationCertificateNum != null">teacher_qualification_certificate_num = #{teacherQualificationCertificateNum},</if>
<if test="workingHours != null">working_hours = #{workingHours},</if>
<if test="toSecondMiddleSchoolTime != null">to_second_middle_school_time = #{toSecondMiddleSchoolTime},</if>
<if test="lengthOfTeacherTime != null">length_of_teacher_time = #{lengthOfTeacherTime},</if>
<if test="lengthOfServiceTime != null">length_of_service_time = #{lengthOfServiceTime},</if>
<if test="onDutySituation != null">on_duty_situation = #{onDutySituation},</if>
<if test="currentSituation != null">current_situation = #{currentSituation},</if>
<if test="graduationInstitution1 != null">graduation_institution1 = #{graduationInstitution1},</if>
<if test="major1 != null">major1 = #{major1},</if>
<if test="graduationTime1 != null">graduation_time1 = #{graduationTime1},</if>
<if test="graduationInstitution2 != null">graduation_institution2 = #{graduationInstitution2},</if>
<if test="major2 != null">major2 = #{major2},</if>
<if test="graduationTime2 != null">graduation_time2 = #{graduationTime2},</if>
<if test="graduationInstitution3 != null">graduation_institution3 = #{graduationInstitution3},</if>
<if test="major3 != null">major3 = #{major3},</if>
<if test="graduationTime3 != null">graduation_time3 = #{graduationTime3},</if>
<if test="firstDegree != null">first_degree = #{firstDegree},</if>
<if test="lastDegree != null">last_degree = #{lastDegree},</if>
<if test="degree != null">degree = #{degree},</if>
<if test="workExperience != null">work_experience = #{workExperience},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="photoName != null">photo_name = #{photoName},</if>
<if test="photoUrl != null">photo_url = #{photoUrl},</if>
<if test="ddPhone != null">dd_phone = #{ddPhone},</if>
<if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXacademicWorksMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXacademicWorksMapper">
<resultMap type="SchoolXacademicWorks" id="SchoolXacademicWorksResult"> <resultMap type="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXacademicWorksVo" id="SchoolXacademicWorksResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="sub" column="sub" /> <result property="sub" column="sub" />
<result property="awardType" column="award_type" /> <result property="awardType" column="award_type" />
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="pictureName" column="picture_name" /> <result property="pictureName" column="picture_name" />
<result property="pictureUrl" column="picture_url" /> <result property="pictureUrl" column="picture_url" />
<result property="auditState" column="audit_state" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
...@@ -26,10 +27,11 @@ ...@@ -26,10 +27,11 @@
</resultMap> </resultMap>
<sql id="selectSchoolXacademicWorksVo"> <sql id="selectSchoolXacademicWorksVo">
select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark, picture_name, picture_url, create_by, create_time, update_by, update_time, del_flag from school_xacademic_works select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time,
remark, picture_name, picture_url, audit_state, create_by, create_time, update_by, update_time, del_flag from school_xacademic_works
</sql> </sql>
<select id="selectSchoolXacademicWorksList" parameterType="SchoolXacademicWorks" resultMap="SchoolXacademicWorksResult"> <select id="selectSchoolXacademicWorksList" parameterType="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXacademicWorksVo" resultMap="SchoolXacademicWorksResult">
<include refid="selectSchoolXacademicWorksVo"/> <include refid="selectSchoolXacademicWorksVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -44,8 +46,10 @@ ...@@ -44,8 +46,10 @@
<if test="awardTime != null "> and award_time = #{awardTime}</if> <if test="awardTime != null "> and award_time = #{awardTime}</if>
<if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if> <if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if>
<if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if> <if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if>
<if test="auditState != null and auditState != ''"> and audit_state = #{auditState}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> and award_time BETWEEN #{startTime} AND #{endTime}</if>
</where> </where>
order create_time DESC order by create_time DESC
</select> </select>
<select id="selectSchoolXacademicWorksById" parameterType="Long" resultMap="SchoolXacademicWorksResult"> <select id="selectSchoolXacademicWorksById" parameterType="Long" resultMap="SchoolXacademicWorksResult">
...@@ -68,6 +72,7 @@ ...@@ -68,6 +72,7 @@
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="pictureName != null and pictureName != ''">picture_name,</if> <if test="pictureName != null and pictureName != ''">picture_name,</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url,</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url,</if>
<if test="auditState != null and auditState != ''">audit_state,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
...@@ -87,6 +92,7 @@ ...@@ -87,6 +92,7 @@
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="pictureName != null and pictureName != ''">#{pictureName},</if> <if test="pictureName != null and pictureName != ''">#{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if>
<if test="auditState != null and auditState != ''">#{auditState},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
...@@ -110,6 +116,7 @@ ...@@ -110,6 +116,7 @@
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if> <if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if>
<if test="auditState != null and auditState != ''">audit_state = #{auditState},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsMapper">
<resultMap type="SchoolXcomprehensiveHonors" id="SchoolXcomprehensiveHonorsResult"> <resultMap type="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsVo" id="SchoolXcomprehensiveHonorsResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="sub" column="sub" /> <result property="sub" column="sub" />
<result property="awardType" column="award_type" /> <result property="awardType" column="award_type" />
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="pictureName" column="picture_name" /> <result property="pictureName" column="picture_name" />
<result property="pictureUrl" column="picture_url" /> <result property="pictureUrl" column="picture_url" />
<result property="auditState" column="audit_state" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
...@@ -26,15 +27,16 @@ ...@@ -26,15 +27,16 @@
</resultMap> </resultMap>
<sql id="selectSchoolXcomprehensiveHonorsVo"> <sql id="selectSchoolXcomprehensiveHonorsVo">
select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark, picture_name, picture_url, create_by, create_time, update_by, update_time, del_flag from school_xcomprehensive_honors select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark,
picture_name, picture_url, audit_state, create_by, create_time, update_by, update_time, del_flag from school_xcomprehensive_honors
</sql> </sql>
<select id="selectSchoolXcomprehensiveHonorsList" parameterType="SchoolXcomprehensiveHonors" resultMap="SchoolXcomprehensiveHonorsResult"> <select id="selectSchoolXcomprehensiveHonorsList" parameterType="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXcomprehensiveHonorsVo" resultMap="SchoolXcomprehensiveHonorsResult">
<include refid="selectSchoolXcomprehensiveHonorsVo"/> <include refid="selectSchoolXcomprehensiveHonorsVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
<if test="sub != null and sub != ''"> and sub = #{sub}</if> <if test="sub != null and sub != ''"> and sub = #{sub}</if>
<if test="awardType != null and awardType != ''"> and award_type = #{awardType}</if> <if test="awardType != null and awardType != ''"> and award_type like concat('%', #{awardType}, '%')</if>
<if test="awardRank != null and awardRank != ''"> and award_rank = #{awardRank}</if> <if test="awardRank != null and awardRank != ''"> and award_rank = #{awardRank}</if>
<if test="awardLevel != null and awardLevel != ''"> and award_level = #{awardLevel}</if> <if test="awardLevel != null and awardLevel != ''"> and award_level = #{awardLevel}</if>
<if test="resultName != null and resultName != ''"> and result_name like concat('%', #{resultName}, '%')</if> <if test="resultName != null and resultName != ''"> and result_name like concat('%', #{resultName}, '%')</if>
...@@ -44,6 +46,8 @@ ...@@ -44,6 +46,8 @@
<if test="awardTime != null "> and award_time = #{awardTime}</if> <if test="awardTime != null "> and award_time = #{awardTime}</if>
<if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if> <if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if>
<if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if> <if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if>
<if test="auditState != null and auditState != ''"> and audit_state = #{auditState}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> and award_time BETWEEN #{startTime} AND #{endTime}</if>
</where> </where>
order by create_time DESC order by create_time DESC
</select> </select>
...@@ -68,6 +72,7 @@ ...@@ -68,6 +72,7 @@
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="pictureName != null and pictureName != ''">picture_name,</if> <if test="pictureName != null and pictureName != ''">picture_name,</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url,</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url,</if>
<if test="auditState != null and auditState != ''">audit_state,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
...@@ -87,6 +92,7 @@ ...@@ -87,6 +92,7 @@
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="pictureName != null and pictureName != ''">#{pictureName},</if> <if test="pictureName != null and pictureName != ''">#{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if>
<if test="auditState != null and auditState != ''">#{auditState},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
...@@ -110,6 +116,7 @@ ...@@ -110,6 +116,7 @@
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if> <if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if>
<if test="auditState != null and auditState != ''">audit_state = #{auditState},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXlectureAwardsMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXlectureAwardsMapper">
<resultMap type="SchoolXlectureAwards" id="SchoolXlectureAwardsResult"> <resultMap type="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXlectureAwardsVo" id="SchoolXlectureAwardsResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="sub" column="sub" /> <result property="sub" column="sub" />
<result property="awardType" column="award_type" /> <result property="awardType" column="award_type" />
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="pictureName" column="picture_name" /> <result property="pictureName" column="picture_name" />
<result property="pictureUrl" column="picture_url" /> <result property="pictureUrl" column="picture_url" />
<result property="auditState" column="audit_state" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="upate_by" /> <result property="updateBy" column="upate_by" />
...@@ -26,10 +27,11 @@ ...@@ -26,10 +27,11 @@
</resultMap> </resultMap>
<sql id="selectSchoolXlectureAwardsVo"> <sql id="selectSchoolXlectureAwardsVo">
select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark, picture_name, picture_url, create_by, create_time, update_by, update_time, del_flag from school_xlecture_awards select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark,
picture_name, picture_url, audit_state, create_by, create_time, update_by, update_time, del_flag from school_xlecture_awards
</sql> </sql>
<select id="selectSchoolXlectureAwardsList" parameterType="SchoolXlectureAwards" resultMap="SchoolXlectureAwardsResult"> <select id="selectSchoolXlectureAwardsList" parameterType="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXlectureAwardsVo" resultMap="SchoolXlectureAwardsResult">
<include refid="selectSchoolXlectureAwardsVo"/> <include refid="selectSchoolXlectureAwardsVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -44,6 +46,8 @@ ...@@ -44,6 +46,8 @@
<if test="awardTime != null "> and award_time = #{awardTime}</if> <if test="awardTime != null "> and award_time = #{awardTime}</if>
<if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if> <if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if>
<if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if> <if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if>
<if test="auditState != null and auditState != ''"> and audit_state = #{auditState}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> and award_time BETWEEN #{startTime} AND #{endTime}</if>
</where> </where>
order by create_time DESC order by create_time DESC
</select> </select>
...@@ -68,6 +72,7 @@ ...@@ -68,6 +72,7 @@
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="pictureName != null and pictureName != ''">picture_name,</if> <if test="pictureName != null and pictureName != ''">picture_name,</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url,</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url,</if>
<if test="auditState != null and auditState != ''">audit_state,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
...@@ -87,6 +92,7 @@ ...@@ -87,6 +92,7 @@
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="pictureName != null and pictureName != ''">#{pictureName},</if> <if test="pictureName != null and pictureName != ''">#{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if>
<if test="auditState != null and auditState != ''">#{auditState},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
...@@ -110,6 +116,7 @@ ...@@ -110,6 +116,7 @@
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if> <if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if>
<if test="auditState != null and auditState != ''">audit_state = #{auditState},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteacherAwardsMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteacherAwardsMapper">
<resultMap type="SchoolXteacherAwards" id="SchoolXteacherAwardsResult"> <resultMap type="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteacherAwardsVo" id="SchoolXteacherAwardsResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="sub" column="sub" /> <result property="sub" column="sub" />
<result property="awardType" column="award_type" /> <result property="awardType" column="award_type" />
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="pictureName" column="picture_name" /> <result property="pictureName" column="picture_name" />
<result property="pictureUrl" column="picture_url" /> <result property="pictureUrl" column="picture_url" />
<result property="auditState" column="audit_state" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
...@@ -26,10 +27,11 @@ ...@@ -26,10 +27,11 @@
</resultMap> </resultMap>
<sql id="selectSchoolXteacherAwardsVo"> <sql id="selectSchoolXteacherAwardsVo">
select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark, picture_name, picture_url, create_by, create_time, update_by, update_time, del_flag from school_xteacher_awards select id, sub, award_type, award_rank, award_level, result_name, user_id, user_name, org, award_time, remark,
picture_name, picture_url, audit_state, create_by, create_time, update_by, update_time, del_flag from school_xteacher_awards
</sql> </sql>
<select id="selectSchoolXteacherAwardsList" parameterType="SchoolXteacherAwards" resultMap="SchoolXteacherAwardsResult"> <select id="selectSchoolXteacherAwardsList" parameterType="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteacherAwardsVo" resultMap="SchoolXteacherAwardsResult">
<include refid="selectSchoolXteacherAwardsVo"/> <include refid="selectSchoolXteacherAwardsVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -44,6 +46,8 @@ ...@@ -44,6 +46,8 @@
<if test="awardTime != null "> and award_time = #{awardTime}</if> <if test="awardTime != null "> and award_time = #{awardTime}</if>
<if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if> <if test="pictureName != null and pictureName != ''"> and picture_name like concat('%', #{pictureName}, '%')</if>
<if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if> <if test="pictureUrl != null and pictureUrl != ''"> and picture_url = #{pictureUrl}</if>
<if test="auditState != null and auditState != ''"> and audit_state = #{auditState}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> and award_time BETWEEN #{startTime} AND #{endTime}</if>
</where> </where>
order by create_time DESC order by create_time DESC
</select> </select>
...@@ -68,6 +72,7 @@ ...@@ -68,6 +72,7 @@
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="pictureName != null and pictureName != ''">picture_name,</if> <if test="pictureName != null and pictureName != ''">picture_name,</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url,</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url,</if>
<if test="auditState != null and auditState != ''">audit_state,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
...@@ -87,6 +92,7 @@ ...@@ -87,6 +92,7 @@
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="pictureName != null and pictureName != ''">#{pictureName},</if> <if test="pictureName != null and pictureName != ''">#{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">#{pictureUrl},</if>
<if test="auditState != null and auditState != ''">#{auditState},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
...@@ -110,6 +116,7 @@ ...@@ -110,6 +116,7 @@
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if> <if test="pictureName != null and pictureName != ''">picture_name = #{pictureName},</if>
<if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if> <if test="pictureUrl != null and pictureUrl != ''">picture_url = #{pictureUrl},</if>
<if test="auditState != null and auditState != ''">audit_state = #{auditState},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteachingAchievementsMapper"> <mapper namespace="yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolXteachingAchievementsMapper">
<resultMap type="SchoolXteachingAchievements" id="SchoolXteachingAchievementsResult"> <resultMap type="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteachingAchievementsVo" id="SchoolXteachingAchievementsResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="schoolYear" column="school_year" /> <result property="schoolYear" column="school_year" />
<result property="semester" column="semester" /> <result property="semester" column="semester" />
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
select id, school_year, semester, exam_time, exam_type, year, grade, user_id, user_name, id_card, sub, class_name, class_type, assessment_score, remark, create_by, create_time, update_by, update_time, del_flag from school_xteaching_achievements select id, school_year, semester, exam_time, exam_type, year, grade, user_id, user_name, id_card, sub, class_name, class_type, assessment_score, remark, create_by, create_time, update_by, update_time, del_flag from school_xteaching_achievements
</sql> </sql>
<select id="selectSchoolXteachingAchievementsList" parameterType="SchoolXteachingAchievements" resultMap="SchoolXteachingAchievementsResult"> <select id="selectSchoolXteachingAchievementsList" parameterType="yangtz.cs.liu.campus.vo.schoolNewTeacherDzdn.SchoolXteachingAchievementsVo" resultMap="SchoolXteachingAchievementsResult">
<include refid="selectSchoolXteachingAchievementsVo"/> <include refid="selectSchoolXteachingAchievementsVo"/>
<where> <where>
del_flag = '0' del_flag = '0'
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if> <if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
<if test="classType != null and classType != ''"> and class_type = #{classType}</if> <if test="classType != null and classType != ''"> and class_type = #{classType}</if>
<if test="assessmentScore != null "> and assessment_score = #{assessmentScore}</if> <if test="assessmentScore != null "> and assessment_score = #{assessmentScore}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> and exam_time BETWEEN #{startTime} AND #{endTime}</if>
</where> </where>
order by create_time DESC order by create_time DESC
</select> </select>
...@@ -139,4 +140,19 @@ ...@@ -139,4 +140,19 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<select id="getUserList" resultType="Map" parameterType="com.ruoyi.common.core.domain.entity.SysUser">
SELECT
user_id as userId,
user_name as userName,
phonenumber as phone
FROM
sys_user
WHERE
del_flag = '0'
AND `status` = '0'
<if test="userName != null and userName != ''">
AND user_name like concat('%', #{userName}, '%')
</if>
</select>
</mapper> </mapper>
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