Commit 67725b50 by Cat
parents 418fd5ff e84cb5d5
......@@ -13,7 +13,12 @@ spring:
url: jdbc:mysql://1.116.38.25:3986/dd_smart_school?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
username: root
password: qianhe2022
#二中
# master:
# url: jdbc:mysql://10.20.100.201:3306/dd_smart_school?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: root!@#$%^123
## master:
# url: jdbc:mysql://43.143.63.140:3306/school_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: lbt@@18062367596
......@@ -21,10 +26,11 @@ spring:
# url: jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: root
# 二中部署地址
# master:
# url: jdbc:mysql://10.20.100.201:3306/school?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# url: jdbc:mysql://10.20.100.201:3306/dd_smart_school?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: root
# password: root
# password: root!@#$%^123
# master:
# url: jdbc:mysql://rm-2zert6y5n3f3499g6fo.mysql.rds.aliyuncs.com:3306/school?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
# username: zhxy
......
......@@ -88,6 +88,13 @@ spring:
enabled: false
# redis 配置
redis:
# #二中
# host: 10.20.100.200
# port: 6379
# # 数据库索引
# database: 10
# # 密码
# password: root@!@#123
# 地址
# host: localhost
host: 1.116.38.25
......
......@@ -86,3 +86,10 @@ export function listDisciplinetg(query) {
params: query,
});
}
//获取教师下拉框
export function getTeacher() {
return request({
url: "/schoolLabCompetition/getTeacher",
method: "get",
});
}
......@@ -298,8 +298,19 @@ export default {
getAwards(id).then((response) => {
this.form = response.data;
this.accessoryUrl = this.pev + this.picUrl
this.form.competentDeptId = response.data.competentDeptId;
const params = {
competentDeptId: this.form.competentDeptId
}
getDeptLeader(params).then(response => {
this.getDeptLeaders = response.rows;
}).catch(error => {
});
this.dialogTableVisible = true;
}).catch(error => {
}
).catch(error => {
this.$modal.closeLoading();
})
......
......@@ -301,8 +301,19 @@ export default {
getAwards(id).then((response) => {
this.form = response.data;
this.accessoryUrl = this.pev + this.picUrl
this.form.competentDeptId = response.data.competentDeptId;
const params = {
competentDeptId: this.form.competentDeptId
}
getDeptLeader(params).then(response => {
this.getDeptLeaders = response.rows;
}).catch(error => {
});
this.dialogTableVisible = true;
}).catch(error => {
}
).catch(error => {
this.$modal.closeLoading();
})
......@@ -445,7 +456,7 @@ export default {
},
getLeader(competentDeptId) {
getDeptLeader({ competentDeptId }).then(response => { // 使用 ES6 简写对象字面量
getDeptLeader({ competentDeptId }).then(response => {
this.getDeptLeaders = response.rows;
console.log(response.rows, 'response.rows');
console.log(this.getDeptLeaders, 'getDeptLeaders');
......
......@@ -72,7 +72,7 @@
<!-- 查看弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="110px" :rules="rules">
<el-form :model="form" ref="form" size="small" label-width="110px" :rules="rules" :disabled="isEdit">
<el-row>
<el-col :span="24">
<el-form-item label="比赛名称" prop="competitionName">
......@@ -91,7 +91,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="获奖名称" prop="awardsName ">
<el-form-item label="获奖名称" prop="awardsName">
<el-input v-model="form.awardsName" placeholder="请输入" clearable
:style="{ width: '100%' }"></el-input>
</el-form-item>
......@@ -99,8 +99,8 @@
<el-col :span="12">
<el-form-item label="主管部门" prop="competentDeptId">
<Treeselect v-model="form.competentDeptId" :options="deptOptions" :show-count="true"
placeholder="请选择" :default-expand-level=1 :style="{ width: '100%' }"
@change="onOrgSelect" />
placeholder="请选择" :default-expand-level=1 :style="{ width: '100%' }" @change="onOrgSelect"
:disabled="isEdit" />
</el-form-item>
</el-col>
</el-row>
......@@ -168,7 +168,6 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
</div>
</el-dialog>
......@@ -192,6 +191,7 @@ import {
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
import { InsertDropdownListsHeaders } from '@alicloud/dingtalk/dist/doc_1_0/client'
export default {
name: 'index',
components: { Treeselect, picAvatar },
......@@ -209,6 +209,7 @@ export default {
competentDeptId: null,
},
isEdit: false,
uploadLoading: false,
pev: process.env.VUE_APP_BASE_API,
getDeptLeaders: [],
......@@ -275,7 +276,7 @@ export default {
},
methods: {
//查看
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
......@@ -283,6 +284,7 @@ export default {
this.form = response.data;
this.accessoryUrl = this.pev + this.picUrl
this.dialogTableVisible = true;
this.isEdit = true;
}).catch(error => {
this.$modal.closeLoading();
})
......@@ -384,26 +386,18 @@ export default {
},
resetQuery() {
this.form = {
pageNum: 1,
pageSize: 10,
competitionName: "",
organizer: "",
awardsName: "",
competentDeptId: null,
this.queryForm = {
awardsLevel: "",
deptDirectorId: null,
awardsTime: "",
awardsType: "",
remark: "",
schoolAccessoryList: [],
startTime: "",
endTime: "",
competentDeptId: null,
},
this.schoolAccessoryList = [],
this.getList();
},
},
}
</script>
......
......@@ -2,89 +2,128 @@
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-input v-model="queryForm.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="届别" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
<el-select v-model="queryForm.semester" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.semester" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="年级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="届别" prop="gradeYear">
<el-input v-model="queryForm.gradeYear" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="年级" prop="gradeId">
<el-select v-model="queryForm.gradeId" placeholder="请选择" clearable :style="{ width: '100%' }"
@change="handleChange">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="班级" prop="classId">
<el-select v-model="queryForm.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.classValue"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级类型">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
<el-select v-model="queryForm.classType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.grade_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="姓名">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
<el-input v-model="queryForm.name" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="性别">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
<el-select v-model="queryForm.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-input v-model="queryForm.idCard" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="班主任">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="违纪类别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="违纪次数">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处分结果">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.punishResult" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.punish_result" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处分时间">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择"
clearable>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-row>
</el-form>
<el-table :data="tableData" :default-sort="{ prop: 'time', order: 'ascending' }" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" sortable label="学年" />
<el-table-column align="center" prop="grade" sortable label="学期" />
<el-table-column align="center" prop="grade" sortable label="届别" />
<el-table-column align="center" prop="grade" sortable label="年级" />
<el-table-column align="center" prop="grade" sortable label="班级" />
<el-table-column align="center" prop="grade" sortable label="班级类型" />
<el-table-column align="center" prop="grade" sortable label="姓名" />
<el-table-column align="center" prop="grade" sortable label="性别" />
<el-table-column align="center" prop="grade" sortable label="身份证号" />
<el-table-column align="center" prop="grade" sortable label="班主任" />
<el-table-column align="center" prop="grade" sortable label="级部主任" />
<el-table-column align="center" prop="grade" sortable label="违纪类别" />
<el-table-column align="center" prop="grade" sortable label="违纪次数" />
<el-table-column align="center" prop="grade" sortable label="处分结果" />
<el-table-column align="center" prop="time" sortable label="处分时间" />
<el-table-column align="center" prop="grade" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<el-table-column align="center" prop="schoolYear" sortable label="学年" />
<el-table-column align="center" prop="semester" sortable label="学期">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.semester, row.semester) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="gradeYear" sortable label="届别" />
<el-table-column align="center" prop="gradeName" sortable label="年级" />
<el-table-column align="center" prop="className" sortable label="班级" />
<el-table-column align="center" prop="classType" sortable label="班级类型" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.grade_type, row.classType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="name" sortable label="姓名" />
<el-table-column align="center" prop="sex" sortable label="性别">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.sys_user_sex, row.sex) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" />
<el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100" />
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100" />
<el-table-column align="center" prop="violateType" sortable label="违纪类别" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="violateNum" sortable label="违纪次数" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_num, row.violateNum) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="punishResult" sortable label="处分结果" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.punish_result, row.punishResult) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="punishTime" sortable label="处分时间" width="100" />
<el-table-column align="center" prop="remark" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
</template>
......@@ -93,23 +132,26 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 查看 -->
<!-- 查看-->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="120px">
<el-form :model="form" ref="form" size="small" label-width="120px" :disabled="isEdit" :rules="rules">
<el-row>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="学年" prop="schoolYear">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.semester" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="届别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="届别" prop="gradeYear">
<el-input v-model="form.gradeYear" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -118,84 +160,115 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="年级" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="年级" prop="gradeId">
<el-select v-model="form.gradeId" placeholder="请选择" clearable :style="{ width: '100%' }"
@change="getClasslist(form.gradeId)">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="班级" prop="classId">
<el-select v-model="form.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.classValue"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级类型" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.grade_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="姓名" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="班主任" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="班主任" prop="classTeacherId">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部主任" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="级部主任" prop="gradeDirectorId">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="违纪类别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="违纪类别" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="违纪次数" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分结果" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.punish_result" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分时间" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" clearable :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
:rows="2"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
<el-button @click="cancelDialog">取 消</el-button>
</div>
</el-dialog>
......@@ -204,29 +277,48 @@
<script>
// import {
// getList,
// getSemester,
// getTeacherxq,
// getGradelist
// } from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
import {
listDiscipline,// 查看学生违纪列表(管理员)
listDisciplinegr,//查看学生违纪列表(个人)
getDiscipline,//查看详情
addDiscipline,// 新增学生违纪(管理员)
addDisciplinegr,// 新增学生违纪(个人)
updateDiscipline,// 编辑学生违纪
delDiscipline,// 删除学生违纪
subApply,//提交
getGrade,// 获取最新三个年级
getClassList,// 根据年级获取班级,
listDisciplinetg,//查看已通过
getTeacher,//获取教师
} from '@/api/smartSchool/awardsDisciplinary/studentViolation/disciplinaryManagemen'
import { checkIdcard } from '@/utils/utilLibrary/validate'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
dicts: ['violate_type', 'violate_num', 'punish_result', 'sys_user_sex', 'grade_type', 'semester'],
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
},
isEdit: false,
gradeLists: [],
//表格数据
tableData: [
{ grade: '111', time: '2023-12-12' },
{ grade: '111', time: '2023-12-13' },
{ grade: '111', time: '2023-12-14' },
{ grade: '111', time: '2023-12-15' },
],
//查看弹窗表格
......@@ -234,38 +326,205 @@ export default {
form: {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacherId: "",
gradeDirectorId: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
remark: "",
},
//弹窗
dialogTableVisible: false,
total: 0,
gradeList: [],
classList: [],
deptOptions: [],
rules: {
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "change" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
gradeYear: [
{ required: true, message: "届别不能为空", trigger: "change" }
],
sex: [
{ required: true, message: "性别不能为空", trigger: "change" }
],
gradeId: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
classId: [
{ required: true, message: "班级不能为空", trigger: "change" }
],
name: [
{ required: true, message: "姓名不能为空", trigger: "change" }
],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
classTeacherId: [
{ required: true, message: "班主任不能为空", trigger: "change" }
],
gradeDirectorId: [
{ required: true, message: "级部主任不能为空", trigger: "change" }
],
violateNum: [
{ required: true, message: "违纪次数不能为空", trigger: "change" }
],
violateType: [
{ required: true, message: "违纪类别不能为空", trigger: "change" }
],
punishResult: [
{ required: true, message: "处分结果不能为空", trigger: "change" }
],
punishTime: [
{ required: true, message: "处分时间不能为空", trigger: "change" }
],
},
}
},
created() {
this.getList();
this.getGradelist();
this.getTeacher();
},
methods: {
handleAdd() {
this.reset();
this.isEdit = false;
this.dialogTableVisible = true;
},
handleEdit() {
this.dialogTableVisible = true;
handleIdCardBlur() {
this.form.sex = this.getGenderFromIdCard(this.form.idCard); // 调用获取性别的方法
},
getGenderFromIdCard(idCard) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? '女' : '男'; // 奇数表示男性,偶数表示女性
},
//修改
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.isEdit = false;
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
//查看
handleLook(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.isEdit = true;
this.dialogTableVisible = true;
this.form.gradeId = response.data.gradeId;
const params = { gradeId: this.form.gradeId };
getClassList(params).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
}).catch(error => {
this.$modal.closeLoading();
})
},
cancelDialog() {
this.dialogTableVisible = false;
},
reset() {
this.form = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
gradeDirector: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
remark: "",
},
this.resetForm('form')
},
//审核
handleExamine() {
handleExamine(row) {
console.log(row, 'row');
this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '同意',
cancelButtonText: '不同意',
confirmButtonClass: 'custom-blue-button',
cancelButtonClass: 'custom-blue-button'
})
.then(() => {
// 弹出确认框,用户点击同意后执行的逻辑
const params = {
id: row.id,
auditState: '2' // 表示同意
};
subApply(params).then(res => {
if (res.code == 200) {
this.$message({
type: 'success',
message: '提交成功!'
});
this.getList();
}
});
})
.catch(() => {
// 用户点击不同意或者取消后执行的逻辑
const params = {
id: row.id,
auditState: '3' // 表示不同意
};
subApply(params).then(res => {
if (res.code == 200) {
this.$message({
type: 'info',
message: '已取消审核'
});
}
});
});
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delArea(row.id);
return delDiscipline(row.id);
}).then(() => {
this.getList();
this.loading = false;
......@@ -277,8 +536,7 @@ export default {
getList() {
getList(this.queryForm)
listDisciplinetg(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
......@@ -290,29 +548,85 @@ export default {
console.log(error);
});
},
//查询级部搜索
//获取教师下拉框
getTeacher() {
getTeacher().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions, ' this.deptOptions ');
});
},
//确定按钮
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDiscipline(this.form).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('修改成功')
this.dialogTableVisible = false
this.getList()
}
}).catch(() => {
this.$modal.msgError("修改失败");
});
} else {
addDiscipline(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功')
this.dialogTableVisible = false
this.getList()
}).catch(() => {
this.$modal.msgError("新增失败");
});
}
}
});
},
// 获取最新三个年级
getGradelist() {
getGradelist().then(response => {
getGrade().then(response => {
this.loading = false;
this.gradeLists = response.data;
this.gradeList = response.data;
this.getClasslist()
console.log("this.gradeList", this.gradeList);
});
},
handleChange(selectedGrade) {
console.log(selectedGrade, 'selectedGrade');
this.getClasslist(selectedGrade); // 传递选择的年级id作为参数
},
// 根据年级获取班级
getClasslist(selectedGrade) {
const query = { gradeId: selectedGrade }; // 创建包含gradeId的对象
getClassList(query).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
},
resetQuery() {
this.queryForm = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
sub: "",
grade: "",
experimentName: "",
};
this.getList();
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
},
this.getList();
},
......
......@@ -22,7 +22,7 @@
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryForm.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.className"
<el-option v-for="(item, index) in classList" :key="index" :label="item.classValue"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
......@@ -45,7 +45,10 @@
<el-input v-model="queryForm.idCard" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="班主任">
<el-input v-model="queryForm.classTeacher" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="违纪类别">
<el-select v-model="queryForm.violateType" placeholder="请选择" clearable style="width: 100%;">
......@@ -88,7 +91,7 @@
</el-table-column>
<el-table-column align="center" prop="gradeYear" sortable label="届别" />
<el-table-column align="center" prop="gradeName" sortable label="年级" />
<el-table-column align="center" prop="className " sortable label="班级" />
<el-table-column align="center" prop="className" sortable label="班级" />
<el-table-column align="center" prop="classType" sortable label="班级类型" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.grade_type, row.classType) }}</div>
......@@ -120,12 +123,26 @@
</el-table-column>
<el-table-column align="center" prop="punishTime" sortable label="处分时间" width="100" />
<el-table-column align="center" prop="remark" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
<el-button @click="handleExamine(scope.row)" type="text" size="small">审核</el-button>
<div>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleExamine(scope.row)"
type="text" size="small">审核</el-button>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleEdit(scope.row)"
type="text" size="small">编辑</el-button>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleDelete(scope.row)"
type="text" size="small">删除</el-button>
<el-button v-if="['1', '3'].includes(scope.row.auditState)" @click="handleLook(scope.row)"
type="text" size="small">查看</el-button>
</div>
<div>
<el-button v-if="scope.row.auditState === '2'" @click="handleEdit(scope.row)" type="text"
size="small">编辑</el-button>
<el-button v-if="scope.row.auditState === '2'" @click="handleDelete(scope.row)" type="text"
size="small">删除</el-button>
<el-button v-if="scope.row.auditState === '2'" @click="handleLook(scope.row)" type="text"
size="small">查看</el-button>
</div>
</template>
</el-table-column>
</el-table>
......@@ -134,7 +151,7 @@
<!-- 新增/编辑弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="120px">
<el-form :model="form" ref="form" size="small" label-width="120px" :disabled="isEdit" :rules="rules">
<el-row>
<el-col :span="8">
<el-form-item label="学年" prop="schoolYear">
......@@ -143,7 +160,10 @@
</el-col>
<el-col :span="8">
<el-form-item label="学期" prop="semester">
<el-input v-model="form.semester" placeholder="请输入" clearable></el-input>
<el-select v-model="form.semester" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.semester" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -163,14 +183,12 @@
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级" prop="classId">
<el-select v-model="form.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.className"
<el-option v-for="(item, index) in classList" :key="index" :label="item.classValue"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
......@@ -191,6 +209,12 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
......@@ -198,21 +222,22 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="班主任" prop="classTeacher">
<el-input v-model="form.classTeacher" placeholder="请输入" clearable></el-input>
<el-form-item label="班主任" prop="classTeacherId">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部主任" prop="gradeDirector">
<el-input v-model="form.gradeDirector" placeholder="请输入" clearable></el-input>
<el-form-item label="级部主任" prop="gradeDirectorId">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -261,7 +286,7 @@
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
<el-button @click="cancelDialog">取 消</el-button>
</div>
</el-dialog>
......@@ -281,8 +306,10 @@ import {
subApply,//提交
getGrade,// 获取最新三个年级
getClassList,// 根据年级获取班级,
listDisciplinetg//查看已通过
listDisciplinetg,//查看已通过
getTeacher,//获取教师
} from '@/api/smartSchool/awardsDisciplinary/studentViolation/disciplinaryManagemen'
import { checkIdcard } from '@/utils/utilLibrary/validate'
export default {
name: 'index',
dicts: ['violate_type', 'violate_num', 'punish_result', 'sys_user_sex', 'grade_type', 'semester'],
......@@ -305,6 +332,7 @@ export default {
punishTime: "",
},
isEdit: false,
gradeLists: [],
//表格数据
tableData: [
......@@ -325,8 +353,8 @@ export default {
name: "",
sex: "",
idCard: "",
classTeacher: "",
gradeDirector: "",
classTeacherId: "",
gradeDirectorId: "",
violateType: "",
violateNum: "",
punishResult: "",
......@@ -339,26 +367,90 @@ export default {
total: 0,
gradeList: [],
classList: [],
deptOptions: [],
rules: {
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "change" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
gradeYear: [
{ required: true, message: "届别不能为空", trigger: "change" }
],
sex: [
{ required: true, message: "性别不能为空", trigger: "change" }
],
gradeId: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
classId: [
{ required: true, message: "班级不能为空", trigger: "change" }
],
name: [
{ required: true, message: "姓名不能为空", trigger: "change" }
],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
classTeacherId: [
{ required: true, message: "班主任不能为空", trigger: "change" }
],
gradeDirectorId: [
{ required: true, message: "级部主任不能为空", trigger: "change" }
],
violateNum: [
{ required: true, message: "违纪次数不能为空", trigger: "change" }
],
violateType: [
{ required: true, message: "违纪类别不能为空", trigger: "change" }
],
punishResult: [
{ required: true, message: "处分结果不能为空", trigger: "change" }
],
punishTime: [
{ required: true, message: "处分时间不能为空", trigger: "change" }
],
},
}
},
created() {
this.getList();
this.getGradelist();
this.getTeacher();
},
methods: {
handleAdd() {
this.reset();
this.isEdit = false;
this.dialogTableVisible = true;
},
handleIdCardBlur() {
this.form.sex = this.getGenderFromIdCard(this.form.idCard); // 调用获取性别的方法
},
getGenderFromIdCard(idCard) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? '女' : '男'; // 奇数表示男性,偶数表示女性
},
//修改
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.form.gradeId = response.data.gradeId;
const params = { gradeId: this.form.gradeId };
getClassList(params).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
this.isEdit = false;
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
......@@ -370,7 +462,15 @@ export default {
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.isEdit = true;
this.dialogTableVisible = true;
this.form.gradeId = response.data.gradeId;
const params = { gradeId: this.form.gradeId };
getClassList(params).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
}).catch(error => {
this.$modal.closeLoading();
})
......@@ -474,8 +574,16 @@ export default {
console.log(error);
});
},
//获取教师下拉框
getTeacher() {
getTeacher().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions, ' this.deptOptions ');
});
},
//确定按钮
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
......
......@@ -2,64 +2,76 @@
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-input v-model="queryForm.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="届别" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
<el-select v-model="queryForm.semester" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.semester" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="年级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="届别" prop="gradeYear">
<el-input v-model="queryForm.gradeYear" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="年级" prop="gradeId">
<el-select v-model="queryForm.gradeId" placeholder="请选择" clearable :style="{ width: '100%' }"
@change="handleChange">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级" prop="level">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="班级" prop="classId">
<el-select v-model="queryForm.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.classValue"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级类型">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
<el-select v-model="queryForm.classType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.grade_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="姓名">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
<el-input v-model="queryForm.name" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="性别">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
<el-select v-model="queryForm.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-input v-model="queryForm.idCard" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="班主任">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="违纪类别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="违纪次数">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处分结果">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-select v-model="queryForm.punishResult" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.punish_result" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处分时间">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择"
clearable>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
......@@ -71,28 +83,57 @@
</el-form>
<el-table :data="tableData" :default-sort="{ prop: 'time', order: 'ascending' }" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" sortable label="学年" />
<el-table-column align="center" prop="grade" sortable label="学期" />
<el-table-column align="center" prop="grade" sortable label="届别" />
<el-table-column align="center" prop="grade" sortable label="年级" />
<el-table-column align="center" prop="grade" sortable label="班级" />
<el-table-column align="center" prop="grade" sortable label="班级类型" />
<el-table-column align="center" prop="grade" sortable label="姓名" />
<el-table-column align="center" prop="grade" sortable label="性别" />
<el-table-column align="center" prop="grade" sortable label="身份证号" />
<el-table-column align="center" prop="grade" sortable label="班主任" />
<el-table-column align="center" prop="grade" sortable label="级部主任" />
<el-table-column align="center" prop="grade" sortable label="违纪类别" />
<el-table-column align="center" prop="grade" sortable label="违纪次数" />
<el-table-column align="center" prop="grade" sortable label="处分结果" />
<el-table-column align="center" prop="time" sortable label="处分时间" />
<el-table-column align="center" prop="grade" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<el-table-column align="center" prop="schoolYear" sortable label="学年" />
<el-table-column align="center" prop="semester" sortable label="学期">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.semester, row.semester) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="gradeYear" sortable label="届别" />
<el-table-column align="center" prop="gradeName" sortable label="年级" />
<el-table-column align="center" prop="className" sortable label="班级" />
<el-table-column align="center" prop="classType" sortable label="班级类型" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.grade_type, row.classType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="name" sortable label="姓名" />
<el-table-column align="center" prop="sex" sortable label="性别">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.sys_user_sex, row.sex) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" />
<el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100" />
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100" />
<el-table-column align="center" prop="violateType" sortable label="违纪类别" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="violateNum" sortable label="违纪次数" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_num, row.violateNum) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="punishResult" sortable label="处分结果" width="100">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.punish_result, row.punishResult) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="punishTime" sortable label="处分时间" width="100" />
<el-table-column align="center" prop="remark" sortable label="备注" />
<el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
<el-button @click="handleExamine(scope.row)" type="text" size="small">审核</el-button>
<div v-if="scope.row.auditState === '0'">
<el-button @click="handleExamine(scope.row)" type="text" size="small">提交</el-button>
<el-button @click="handleEdit(scope.row)" type="text" size="small">编辑</el-button>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
</div>
<div v-else>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
</div>
</template>
</el-table-column>
</el-table>
......@@ -101,21 +142,24 @@
<!-- 新增/编辑弹框 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="1100px">
<el-form :model="form" ref="form" size="small" label-width="120px">
<el-form :model="form" ref="form" size="small" label-width="120px" :disabled="isEdit" :rules="rules">
<el-row>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="学年" prop="schoolYear">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学期">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.semester" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="届别">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="届别" prop="gradeYear">
<el-input v-model="form.gradeYear" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -124,76 +168,108 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="年级" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="年级" prop="gradeId">
<el-select v-model="form.gradeId" placeholder="请选择" clearable :style="{ width: '100%' }"
@change="getClasslist(form.gradeId)">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.gradeId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="班级" prop="classId">
<el-select v-model="form.classId" placeholder="请选择级部" clearable :style="{ width: '100%' }">
<el-option v-for="(item, index) in classList" :key="index" :label="item.classValue"
:value="item.classId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="班级类型" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.grade_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="姓名" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" @blur="handleIdCardBlur" maxlength="18" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="身份证号" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="班主任" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="班主任" prop="classTeacherId">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="级部主任" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="级部主任" prop="gradeDirectorId">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }">
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="违纪类别" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="违纪类别" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="违纪次数" prop="startTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分结果" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.punish_result" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="处分时间" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" clearable :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="endTime">
<el-input v-model="form.className" placeholder="请输入" clearable></el-input>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
:rows="2"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -201,37 +277,57 @@
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm"> 确 定</el-button>
<el-button @click="cancelDialog"> 取 消 </el-button>
<el-button @click="cancelDialog">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
// import {
// getList,
// getSemester,
// getTeacherxq,
// getGradelist
// } from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
import {
listDiscipline,// 查看学生违纪列表(管理员)
listDisciplinegr,//查看学生违纪列表(个人)
getDiscipline,//查看详情
addDiscipline,// 新增学生违纪(管理员)
addDisciplinegr,// 新增学生违纪(个人)
updateDiscipline,// 编辑学生违纪
delDiscipline,// 删除学生违纪
subApply,//提交
getGrade,// 获取最新三个年级
getClassList,// 根据年级获取班级,
listDisciplinetg,//查看已通过
getTeacher,//获取教师
} from '@/api/smartSchool/awardsDisciplinary/studentViolation/disciplinaryManagemen'
import { checkIdcard } from '@/utils/utilLibrary/validate'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
dicts: ['violate_type', 'violate_num', 'punish_result', 'sys_user_sex', 'grade_type', 'semester'],
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
},
isEdit: false,
gradeLists: [],
//表格数据
tableData: [
{ grade: '111', time: '2023-12-12' },
{ grade: '111', time: '2023-12-13' },
{ grade: '111', time: '2023-12-14' },
{ grade: '111', time: '2023-12-15' },
],
//查看弹窗表格
......@@ -239,61 +335,204 @@ export default {
form: {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacherId: "",
gradeDirectorId: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
remark: "",
},
//弹窗
dialogTableVisible: false,
total: 0,
gradeList: [],
classList: [],
deptOptions: [],
rules: {
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "change" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
gradeYear: [
{ required: true, message: "届别不能为空", trigger: "change" }
],
sex: [
{ required: true, message: "性别不能为空", trigger: "change" }
],
gradeId: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
classId: [
{ required: true, message: "班级不能为空", trigger: "change" }
],
name: [
{ required: true, message: "姓名不能为空", trigger: "change" }
],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
classTeacherId: [
{ required: true, message: "班主任不能为空", trigger: "change" }
],
gradeDirectorId: [
{ required: true, message: "级部主任不能为空", trigger: "change" }
],
violateNum: [
{ required: true, message: "违纪次数不能为空", trigger: "change" }
],
violateType: [
{ required: true, message: "违纪类别不能为空", trigger: "change" }
],
punishResult: [
{ required: true, message: "处分结果不能为空", trigger: "change" }
],
punishTime: [
{ required: true, message: "处分时间不能为空", trigger: "change" }
],
},
}
},
created() {
this.getList();
this.getGradelist();
this.getTeacher();
},
methods: {
handleAdd() {
this.reset();
this.isEdit = false;
this.dialogTableVisible = true;
},
handleEdit() {
this.dialogTableVisible = true;
handleIdCardBlur() {
this.form.sex = this.getGenderFromIdCard(this.form.idCard); // 调用获取性别的方法
},
getGenderFromIdCard(idCard) {
const lastDigit = parseInt(idCard.charAt(idCard.length - 2)); // 获取倒数第二位数字
return lastDigit % 2 === 0 ? '女' : '男'; // 奇数表示男性,偶数表示女性
},
//查看
handleLook(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.isEdit = true;
this.dialogTableVisible = true;
this.form.gradeId = response.data.gradeId;
const params = { gradeId: this.form.gradeId };
getClassList(params).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
}).catch(error => {
this.$modal.closeLoading();
})
},
//修改
handleEdit(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.form.gradeId = response.data.gradeId;
const params = { gradeId: this.form.gradeId };
getClassList(params).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
this.isEdit = false;
this.dialogTableVisible = true;
}).catch(error => {
this.$modal.closeLoading();
})
},
//查看
handleLook(row) {
console.log(row);
const id = row.id || this.ids;
getDiscipline(id).then((response) => {
this.form = response.data;
this.isEdit = true;
this.dialogTableVisible = true; ``
}).catch(error => {
this.$modal.closeLoading();
})
},
cancelDialog() {
this.dialogTableVisible = false;
},
//审核
reset() {
this.form = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
gradeDirector: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
remark: "",
},
this.resetForm('form')
},
//审核
handleExamine(row) {
this.$confirm('确认要提交申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
submitApply(row, row.id).then(res => {
if (res.code == 200) {
this.$message({
type: 'success',
message: '提交成功!'
})
this.getList()
}
})
const ids = row.id || this.ids;
this.$modal
.confirm("是否提交该活动?")
.then(function () {
const params = {
id: row.id,
auditState: '1' // 表示同意
};
return subApply(params);
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消提交'
})
.then(() => {
this.getList();
this.$modal.msgSuccess("提交成功");
})
.catch((err) => {
console.error(err);
});
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return delArea(row.id);
return delDiscipline(row.id);
}).then(() => {
this.getList();
this.loading = false;
......@@ -305,8 +544,7 @@ export default {
getList() {
getList(this.queryForm)
listDisciplinegr(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
......@@ -318,29 +556,85 @@ export default {
console.log(error);
});
},
//查询级部搜索
//获取教师下拉框
getTeacher() {
getTeacher().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions, ' this.deptOptions ');
});
},
//确定按钮
submitForm: function () {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDiscipline(this.form).then(({ code }) => {
console.log(this.form, 'this.form');
if (code == 200) {
this.$modal.msgSuccess('修改成功')
this.dialogTableVisible = false
this.getList()
}
}).catch(() => {
this.$modal.msgError("修改失败");
});
} else {
addDisciplinegr(this.form).then(response => {
console.log(this.form, 'this.form');
this.$modal.msgSuccess('新增成功')
this.dialogTableVisible = false
this.getList()
}).catch(() => {
this.$modal.msgError("新增失败");
});
}
}
});
},
// 获取最新三个年级
getGradelist() {
getGradelist().then(response => {
getGrade().then(response => {
this.loading = false;
this.gradeLists = response.data;
this.gradeList = response.data;
this.getClasslist()
console.log("this.gradeList", this.gradeList);
});
},
handleChange(selectedGrade) {
console.log(selectedGrade, 'selectedGrade');
this.getClasslist(selectedGrade); // 传递选择的年级id作为参数
},
// 根据年级获取班级
getClasslist(selectedGrade) {
const query = { gradeId: selectedGrade }; // 创建包含gradeId的对象
getClassList(query).then(response => {
this.loading = false;
this.classList = response.data;
console.log("this.classList", this.classList);
});
},
resetQuery() {
this.queryForm = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
sub: "",
grade: "",
experimentName: "",
};
this.getList();
gradeYear: "",
gradeId: "",
classId: "",
classType: "",
name: "",
sex: "",
idCard: "",
classTeacher: "",
violateType: "",
violateNum: "",
punishResult: "",
punishTime: "",
},
this.getList();
},
......
......@@ -30,6 +30,7 @@ export default {
getCode() {
dd.getAuthCode({
corpId: 'dingaa3937ff8b7dd267f2c783f7214b6d69',
// corpId: 'dingccea40788226c988f2c783f7214b6d69',
success: (res) => {
console.log('获取新的免登码成功', res);
const code = res.code
......
package yangtz.cs.liu.campus.controller.schoolRewardsPunishments;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
......@@ -40,27 +41,41 @@ public class SchoolScAwardsController extends BaseController
private ISchoolScAwardsService schoolScAwardsService;
/**
* 查询学校获奖列表
* 查询学校获奖列表(管理员)
*/
@GetMapping("/list")
public TableDataInfo list(SchoolScAwardsVo schoolScAwardsVo)
{
schoolScAwardsVo.setAuditState("0");
startPage();
List<SchoolScAwardsVo> list = schoolScAwardsService.selectSchoolScAwardsList(schoolScAwardsVo);
return getDataTable(list);
}
/**
* 查询学校获奖列表(查看已通过)
*/
@GetMapping("/listTg")
public TableDataInfo listTg(SchoolScAwardsVo schoolScAwardsVo)
{
schoolScAwardsVo.setAuditState("2");
startPage();
List<SchoolScAwardsVo> list = schoolScAwardsService.selectSchoolScAwardsListTg(schoolScAwardsVo);
return getDataTable(list);
}
/**
* 查询学校获奖列表(个人)
*/
@GetMapping("/listGr")
public TableDataInfo listGr(SchoolScAwardsVo schoolScAwardsVo)
{
SysUser user = SecurityUtils.getLoginUser().getUser();
//用户角色集合
List<SysRole> roles = user.getRoles();
//管理员查询全部
if (user.isAdmin()) {
startPage();
List<SchoolScAwardsVo> list = schoolScAwardsService.selectSchoolScAwardsList(schoolScAwardsVo);
return getDataTable(list);
} else if (roles.size() > 0){
for (SysRole role : roles) {
if (role.getRoleKey().equals("award_admin")){
startPage();
List<SchoolScAwardsVo> list = schoolScAwardsService.selectSchoolScAwardsList(schoolScAwardsVo);
return getDataTable(list);
}
}
}
//用户查看个人列表
schoolScAwardsVo.setApplyId(user.getUserId());
......@@ -91,12 +106,23 @@ public class SchoolScAwardsController extends BaseController
}
/**
* 新增学校获奖
* 新增学校获奖(管理员)
*/
@Log(title = "学校获奖", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolScAwardsVo schoolScAwardsVo)
{
schoolScAwardsVo.setAuditState("1");
return toAjax(schoolScAwardsService.insertSchoolScAwards(schoolScAwardsVo));
}
/**
* 新增学校获奖(个人)
*/
@Log(title = "学校获奖", businessType = BusinessType.INSERT)
@PostMapping("/addGr")
public AjaxResult addGr(@RequestBody SchoolScAwardsVo schoolScAwardsVo)
{
return toAjax(schoolScAwardsService.insertSchoolScAwards(schoolScAwardsVo));
}
......
......@@ -2,6 +2,9 @@ package yangtz.cs.liu.campus.controller.schoolRewardsPunishments;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -18,6 +21,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import yangtz.cs.liu.campus.domain.schoolRewardsPunishments.SchoolScAwards;
import yangtz.cs.liu.campus.domain.schoolRewardsPunishments.SchoolScDiscipline;
import yangtz.cs.liu.campus.service.schoolRewardsPunishments.ISchoolScDisciplineService;
......@@ -35,11 +39,43 @@ public class SchoolScDisciplineController extends BaseController
private ISchoolScDisciplineService schoolScDisciplineService;
/**
* 查询学生违纪列表
* 查询学生违纪列表(管理员)
*/
@GetMapping("/list")
public TableDataInfo list(SchoolScDiscipline schoolScDiscipline)
{
schoolScDiscipline.setAuditState("0");
startPage();
List<SchoolScDiscipline> list = schoolScDisciplineService.selectSchoolScDisciplineList(schoolScDiscipline);
return getDataTable(list);
}
/**
* 查询学生违纪列表(查看已通过)
*/
@GetMapping("/listTg")
public TableDataInfo listTg(SchoolScDiscipline schoolScDiscipline)
{
schoolScDiscipline.setAuditState("2");
startPage();
List<SchoolScDiscipline> list = schoolScDisciplineService.selectSchoolScDisciplineListTg(schoolScDiscipline);
return getDataTable(list);
}
/**
* 查询学生违纪列表(个人)
*/
@GetMapping("/listGr")
public TableDataInfo listGr(SchoolScDiscipline schoolScDiscipline)
{
SysUser user = SecurityUtils.getLoginUser().getUser();
//管理员返回全部
if (user.isAdmin()) {
startPage();
List<SchoolScDiscipline> list = schoolScDisciplineService.selectSchoolScDisciplineList(schoolScDiscipline);
return getDataTable(list);
}
schoolScDiscipline.setApplyId(SecurityUtils.getUserId());
startPage();
List<SchoolScDiscipline> list = schoolScDisciplineService.selectSchoolScDisciplineList(schoolScDiscipline);
return getDataTable(list);
......@@ -67,12 +103,23 @@ public class SchoolScDisciplineController extends BaseController
}
/**
* 新增学生违纪
* 新增学生违纪(管理员)
*/
@Log(title = "学生违纪", businessType = BusinessType.INSERT)
@PostMapping
@PostMapping("/add")
public AjaxResult add(@RequestBody SchoolScDiscipline schoolScDiscipline)
{
schoolScDiscipline.setAuditState("1");
return toAjax(schoolScDisciplineService.insertSchoolScDiscipline(schoolScDiscipline));
}
/**
* 新增学生违纪(个人)
*/
@Log(title = "学生违纪", businessType = BusinessType.INSERT)
@PostMapping("/addGr")
public AjaxResult addGr(@RequestBody SchoolScDiscipline schoolScDiscipline)
{
return toAjax(schoolScDisciplineService.insertSchoolScDiscipline(schoolScDiscipline));
}
......@@ -80,7 +127,7 @@ public class SchoolScDisciplineController extends BaseController
* 修改学生违纪
*/
@Log(title = "学生违纪", businessType = BusinessType.UPDATE)
@PutMapping
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SchoolScDiscipline schoolScDiscipline)
{
return toAjax(schoolScDisciplineService.updateSchoolScDiscipline(schoolScDiscipline));
......@@ -97,6 +144,15 @@ public class SchoolScDisciplineController extends BaseController
}
/**
* 提交/审核
*/
@PutMapping("/submit")
public AjaxResult submit(@RequestBody SchoolScDiscipline schoolScDiscipline)
{
return toAjax(schoolScDisciplineService.updateById(schoolScDiscipline));
}
/**
* 获取最新三个年级
*/
@GetMapping("/getGrade")
......@@ -107,8 +163,8 @@ public class SchoolScDisciplineController extends BaseController
/**
* 根据年级获取班级
*/
@GetMapping("/getClassList/{gradeId}")
public AjaxResult getClassList(@PathVariable("gradeId") Long gradeId){
@GetMapping("/getClassList")
public AjaxResult getClassList(Long gradeId){
return AjaxResult.success(schoolScDisciplineService.getClassList(gradeId));
}
}
......@@ -60,10 +60,16 @@ public class SchoolScDiscipline extends OurBaseEntity
@Excel(name = "身份证号")
private String idCard;
/** 班主任id */
private Long classTeacherId;
/** 班主任 */
@Excel(name = "班主任")
private String classTeacher;
/** 级部主任id */
private Long gradeDirectorId;
/** 级部主任 */
@Excel(name = "级部主任")
private String gradeDirector;
......
......@@ -32,6 +32,14 @@ public interface SchoolScAwardsMapper extends BaseMapper<SchoolScAwards>
public List<SchoolScAwardsVo> selectSchoolScAwardsList(SchoolScAwardsVo schoolScAwardsVo);
/**
* 查询学校获奖列表(查看已通过)
*
* @param schoolScAwardsVo 学校获奖
* @return 学校获奖集合
*/
public List<SchoolScAwardsVo> selectSchoolScAwardsListTg(SchoolScAwardsVo schoolScAwardsVo);
/**
* 新增学校获奖
*
* @param schoolScAwardsVo 学校获奖
......
......@@ -31,6 +31,14 @@ public interface SchoolScDisciplineMapper extends BaseMapper<SchoolScDiscipline>
public List<SchoolScDiscipline> selectSchoolScDisciplineList(SchoolScDiscipline schoolScDiscipline);
/**
* 查询学生违纪列表(查看已通过)
*
* @param schoolScDiscipline 学生违纪
* @return 学生违纪集合
*/
List<SchoolScDiscipline> selectSchoolScDisciplineListTg(SchoolScDiscipline schoolScDiscipline);
/**
* 新增学生违纪
*
* @param schoolScDiscipline 学生违纪
......@@ -74,4 +82,6 @@ public interface SchoolScDisciplineMapper extends BaseMapper<SchoolScDiscipline>
* @return
*/
List<Map<String, Object>> getClassList(Long gradeId);
}
......@@ -52,19 +52,46 @@ public class SchoolScAwardsServiceImpl extends ServiceImpl<SchoolScAwardsMapper,
public List<SchoolScAwardsVo> selectSchoolScAwardsList(SchoolScAwardsVo schoolScAwardsVo)
{
List<SchoolScAwardsVo> schoolScAwardsVos = schoolScAwardsMapper.selectSchoolScAwardsList(schoolScAwardsVo);
List<SchoolAccessory> schoolAccessoryList = new ArrayList<>();
//获取学校获奖所有附件
List<SchoolAccessory> schoolAccessories = schoolScAwardsMapper.selectAccessoryList();
schoolScAwardsVos.forEach(schoolScAwardsVo1 -> {
for (SchoolScAwardsVo scAwardsVo : schoolScAwardsVos) {
List<SchoolAccessory> schoolAccessoryList = new ArrayList<>();
for (SchoolAccessory schoolAccessory : schoolAccessories) {
if (schoolAccessory.getBusinessId().equals(schoolScAwardsVo1.getId())){
if (schoolAccessory.getBusinessId().equals(scAwardsVo.getId())){
schoolAccessoryList.add(schoolAccessory);
}
}
if (schoolAccessoryList.size() > 0){
schoolScAwardsVo1.setSchoolAccessoryList(schoolAccessoryList);
scAwardsVo.setSchoolAccessoryList(schoolAccessoryList);
}
});
}
return schoolScAwardsVos;
}
/**
* 查询学校获奖列表(查看已通过)
*
* @param schoolScAwardsVo 学校获奖
* @return 学校获奖
*/
@Override
public List<SchoolScAwardsVo> selectSchoolScAwardsListTg(SchoolScAwardsVo schoolScAwardsVo)
{
List<SchoolScAwardsVo> schoolScAwardsVos = schoolScAwardsMapper.selectSchoolScAwardsListTg(schoolScAwardsVo);
//获取学校获奖所有附件
List<SchoolAccessory> schoolAccessories = schoolScAwardsMapper.selectAccessoryList();
for (SchoolScAwardsVo scAwardsVo : schoolScAwardsVos) {
List<SchoolAccessory> schoolAccessoryList = new ArrayList<>();
for (SchoolAccessory schoolAccessory : schoolAccessories) {
if (schoolAccessory.getBusinessId().equals(scAwardsVo.getId())){
schoolAccessoryList.add(schoolAccessory);
}
}
if (schoolAccessoryList.size() > 0){
scAwardsVo.setSchoolAccessoryList(schoolAccessoryList);
}
}
return schoolScAwardsVos;
}
......
package yangtz.cs.liu.campus.service.impl.schoolRewardsPunishments;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolRewardsPunishments.SchoolScDiscipline;
......@@ -48,6 +50,18 @@ public class SchoolScDisciplineServiceImpl extends ServiceImpl<SchoolScDisciplin
}
/**
* 查询学生违纪列表(查看已通过)
*
* @param schoolScDiscipline 学生违纪
* @return 学生违纪
*/
@Override
public List<SchoolScDiscipline> selectSchoolScDisciplineListTg(SchoolScDiscipline schoolScDiscipline)
{
return schoolScDisciplineMapper.selectSchoolScDisciplineListTg(schoolScDiscipline);
}
/**
* 新增学生违纪
*
* @param schoolScDiscipline 学生违纪
......@@ -56,6 +70,11 @@ public class SchoolScDisciplineServiceImpl extends ServiceImpl<SchoolScDisciplin
@Override
public int insertSchoolScDiscipline(SchoolScDiscipline schoolScDiscipline)
{
SysUser user = SecurityUtils.getLoginUser().getUser();
schoolScDiscipline.setApplyId(user.getUserId());
schoolScDiscipline.setApplyName(user.getUserName());
schoolScDiscipline.setApplyTime(DateUtils.getNowDate());
schoolScDiscipline.setCreateBy(user.getUserName());
schoolScDiscipline.setCreateTime(DateUtils.getNowDate());
return schoolScDisciplineMapper.insertSchoolScDiscipline(schoolScDiscipline);
}
......@@ -69,6 +88,7 @@ public class SchoolScDisciplineServiceImpl extends ServiceImpl<SchoolScDisciplin
@Override
public int updateSchoolScDiscipline(SchoolScDiscipline schoolScDiscipline)
{
schoolScDiscipline.setUpdateBy(SecurityUtils.getUsername());
schoolScDiscipline.setUpdateTime(DateUtils.getNowDate());
return schoolScDisciplineMapper.updateSchoolScDiscipline(schoolScDiscipline);
}
......
......@@ -31,6 +31,14 @@ public interface ISchoolScAwardsService extends IService<SchoolScAwards>
public List<SchoolScAwardsVo> selectSchoolScAwardsList(SchoolScAwardsVo schoolScAwardsVo);
/**
* 查询学校获奖列表(查看已通过)
*
* @param schoolScAwardsVo 学校获奖
* @return 学校获奖集合
*/
public List<SchoolScAwardsVo> selectSchoolScAwardsListTg(SchoolScAwardsVo schoolScAwardsVo);
/**
* 新增学校获奖
*
* @param schoolScAwardsVo 学校获奖
......
......@@ -31,6 +31,14 @@ public interface ISchoolScDisciplineService extends IService<SchoolScDiscipline>
public List<SchoolScDiscipline> selectSchoolScDisciplineList(SchoolScDiscipline schoolScDiscipline);
/**
* 查询学生违纪列表(查看已通过)
*
* @param schoolScDiscipline 学生违纪
* @return 学生违纪集合
*/
public List<SchoolScDiscipline> selectSchoolScDisciplineListTg(SchoolScDiscipline schoolScDiscipline);
/**
* 新增学生违纪
*
* @param schoolScDiscipline 学生违纪
......
......@@ -102,10 +102,8 @@ public class SchoolScAwardsVo
private List<SchoolAccessory> schoolAccessoryList;
/** 开始时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
private String startTime;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date endTime;
private String endTime;
}
......@@ -469,7 +469,9 @@ public class DingJiaXiaoController {
schoolStudentParent1.setStudentId(ddUserId);
schoolStudentParent1.setUserId(userId);
schoolStudentParent1.setParentName(guarDate.getName());
schoolStudentParent1.setTelephone(guarDate.getMobile());
schoolStudentParent1.setTelephone(guarDate.getMobile
());
Integer patriarch = this.getPatriarch(guarDate.getName().substring(guarDate.getName().length() - 2));
schoolStudentParent1.setRelationship(String.valueOf(patriarch));
iSchoolStudentParentService.updateById(schoolStudentParent1);
......@@ -478,9 +480,6 @@ public class DingJiaXiaoController {
}
}
}
return "完成";
}
......
......@@ -219,94 +219,99 @@ public class DdDeptServcieImpl implements IDdDeptService {
@Override
@Transactional
public String syncDdDept() {
//获取钉钉所有部门列表
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList = getDeptList();
//存放钉钉部门不存在系统库集合
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList1 = new ArrayList<>();
ddDeptList1.addAll(ddDeptList);
//获取系统所有部门列表
List<SysDdDept> deptList = ddDeptMapper.selectDdDeptList(new SysDdDept());
//存放钉钉删除了的部门集合
List<SysDdDept> deptList1 = new ArrayList<>();
deptList1.addAll(deptList);
if (deptList.size() <= 0){
addDdDept();
}else{
//获取钉钉所有部门列表
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList = getDeptList();
//存放钉钉部门不存在系统库集合
List<OapiV2DepartmentListsubResponse.DeptBaseResponse> ddDeptList1 = new ArrayList<>();
ddDeptList1.addAll(ddDeptList);
//判断钉钉部门列表是否都在系统部门列表中
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept dept : deptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
//存在,从集合中去除
ddDeptList1.remove(ddDept);
//存放钉钉删除了的部门集合
List<SysDdDept> deptList1 = new ArrayList<>();
deptList1.addAll(deptList);
//判断钉钉部门列表是否都在系统部门列表中
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept dept : deptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
//存在,从集合中去除
ddDeptList1.remove(ddDept);
}
}
}
}
//新增不存在系统库的部门
if(ddDeptList1.size() > 0){
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList1) {
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddDept1 = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
//新增
SysDdDept sysDdDept = new SysDdDept();
sysDdDept.setParentId(ddDept1.getDeptId());
sysDdDept.setAncestors(ddDept1.getAncestors() + ddDept1.getDeptId());
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setOrderNum(ddDept.getDeptId());
sysDdDept.setDdDeptId(ddDept.getDeptId());
sysDdDept.setDdParentId(ddParentId);
sysDdDept.setCreateBy("钉钉管理员");
ddDeptMapper.insertDdDept(sysDdDept);
//新增不存在系统库的部门
if(ddDeptList1.size() > 0){
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList1) {
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddDept1 = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
//新增
SysDdDept sysDdDept = new SysDdDept();
sysDdDept.setParentId(ddDept1.getDeptId());
sysDdDept.setAncestors(ddDept1.getAncestors() + ddDept1.getDeptId());
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setOrderNum(ddDept.getDeptId());
sysDdDept.setDdDeptId(ddDept.getDeptId());
sysDdDept.setDdParentId(ddParentId);
sysDdDept.setCreateBy("钉钉管理员");
ddDeptMapper.insertDdDept(sysDdDept);
}
}
}
//判断钉钉中删除的部门是否还存在系统部门中
for (SysDdDept dept : deptList) {
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
if (dept.getDdDeptId().equals(ddDept.getDeptId())){
deptList1.remove(dept);
//判断钉钉中删除的部门是否还存在系统部门中
for (SysDdDept dept : deptList) {
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
if (ddDept.getDeptId().equals(dept.getDdDeptId())){
deptList1.remove(dept);
}
}
}
}
//删除系统部门中存在的钉钉已删除的部门
if (deptList1.size() > 0){
for (SysDdDept dept : deptList1) {
if (dept.getDeptId() != 100){
ddDeptMapper.deleteDdDeptById(dept.getDeptId());
//删除系统部门中存在的钉钉已删除的部门
if (deptList1.size() > 0){
for (SysDdDept dept : deptList1) {
if (dept.getDeptId() != 100){
ddDeptMapper.deleteDdDeptById(dept.getDeptId());
}
}
}
}
//更新系统部门信息
//获取部门详情
OapiV2DepartmentGetResponse.DeptGetResponse djDept = dingDeptUtils.getDept(1L, "");
//修改顶级目录
SysDdDept dept = new SysDdDept();
dept.setDdDeptId(djDept.getDeptId());
dept.setDeptName(djDept.getName());
dept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(dept);
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept sysDdDept : deptList) {
if (ddDept.getDeptId().equals(sysDdDept.getDdDeptId())){
//判断父部门是否发生改变
if (!(ddDept.getParentId().equals(sysDdDept.getDdParentId()))){
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddParentDept = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
sysDdDept.setParentId(ddParentDept.getDeptId());
sysDdDept.setAncestors(ddParentDept.getAncestors() + "," + ddParentDept.getDeptId());
sysDdDept.setDdParentId(ddDept.getParentId());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
}
//判断部门基本信息是否发生改变
if(!(ddDept.getName().equals(sysDdDept.getDeptName()))){
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
//更新系统部门信息
//获取部门详情
OapiV2DepartmentGetResponse.DeptGetResponse djDept = dingDeptUtils.getDept(1L, "");
//修改顶级目录
SysDdDept dept = new SysDdDept();
dept.setDdDeptId(djDept.getDeptId());
dept.setDeptName(djDept.getName());
dept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(dept);
for (OapiV2DepartmentListsubResponse.DeptBaseResponse ddDept : ddDeptList) {
for (SysDdDept sysDdDept : deptList) {
if (ddDept.getDeptId().equals(sysDdDept.getDdDeptId())){
//判断父部门是否发生改变
if (!(ddDept.getParentId().equals(sysDdDept.getDdParentId()))){
//钉钉父部门id
Long ddParentId = ddDept.getParentId();
//查询父部门信息
SysDdDept ddParentDept = ddDeptMapper.selectDeptByDdDeptId(ddParentId);
sysDdDept.setParentId(ddParentDept.getDeptId());
sysDdDept.setAncestors(ddParentDept.getAncestors() + "," + ddParentDept.getDeptId());
sysDdDept.setDdParentId(ddDept.getParentId());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
}
//判断部门基本信息是否发生改变
if(!(ddDept.getName().equals(sysDdDept.getDeptName()))){
sysDdDept.setDeptName(ddDept.getName());
sysDdDept.setUpdateBy("钉钉管理员");
ddDeptMapper.updateDdDeptByDdDeptId(sysDdDept);
}
}
}
}
......
......@@ -390,7 +390,7 @@ public class DdUserServiceImpl implements IDdUserService {
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
if (StringUtils.isNotNull(deptPosition.getIsMain()) && deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
......@@ -533,7 +533,7 @@ public class DdUserServiceImpl implements IDdUserService {
//判断钉钉已删除的用户
for (SysDdUser ddUser : userList) {
for (String ddUserId : ddUserIdList) {
if (ddUser.getDdUserId().equals(ddUserId)){
if (ddUserId.equals(ddUser.getDdUserId())){
//存在从集合中剔除
userList1.remove(ddUser);
}
......@@ -593,7 +593,7 @@ public class DdUserServiceImpl implements IDdUserService {
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
if (StringUtils.isNotNull(deptPosition.getIsMain()) && deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
......@@ -772,7 +772,7 @@ public class DdUserServiceImpl implements IDdUserService {
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
if (StringUtils.isNotNull(deptPosition.getIsMain()) && deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
......@@ -948,7 +948,7 @@ public class DdUserServiceImpl implements IDdUserService {
//设置主部门和任职部门
if (deptPositionList.size()>0){
for (OapiV2UserGetResponse.DeptPosition deptPosition : deptPositionList) {
if (deptPosition.getIsMain()){
if (StringUtils.isNotNull(deptPosition.getIsMain()) && deptPosition.getIsMain()){
SysDdDept dept = ddDeptMapper.selectDeptByDdDeptId(deptPosition.getDeptId());
if (StringUtils.isNotNull(dept)){
sysDdUser.setDeptId(dept.getDeptId());
......
......@@ -91,7 +91,8 @@ public class WxSchoolClassController extends BaseController {
@GetMapping("/getClassById/{classId}")
public AjaxResult getClassById(@PathVariable("classId") Long classId) {
return AjaxResult.success(schoolClassService.getById(classId));
SchoolClass byId = schoolClassService.getById(classId);
return AjaxResult.success(byId);
}
/**
......@@ -141,6 +142,9 @@ public class WxSchoolClassController extends BaseController {
*/
@GetMapping("/getTeachers/{classId}")
public AjaxResult getTeachers(@PathVariable("classId") Long classId){
List<SchoolTeacherVO> teachers = schoolTeacherService.getTeachers(classId);
return AjaxResult.success(teachers);
}
......
......@@ -26,7 +26,7 @@
</resultMap>
<insert id="addTeacherList" parameterType="SysDdTeacher" useGeneratedKeys="true" keyProperty="id">
insert into sys_teacher
insert into school_teacher
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="teacherName != null">teacher_name,</if>
......@@ -74,7 +74,7 @@
</insert>
<update id="updateDdTeacher" parameterType="SysDdTeacher">
update sys_teacher
update school_teacher
<trim prefix="SET" suffixOverrides=",">
<if test="teacherName != null">teacher_name = #{teacherName},</if>
<if test="teacherTel != null">teacher_tel = #{teacherTel},</if>
......@@ -100,7 +100,7 @@
<!--批量新增教师-->
<insert id="batchInsertTeacher" parameterType="SysDdTeacher" useGeneratedKeys="true" keyProperty="id">
<foreach collection="list" item="data" separator=";">
insert into sys_teacher
insert into school_teacher
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="data.id != null">id,</if>
<if test="data.teacherName != null">teacher_name,</if>
......@@ -147,7 +147,4 @@
</trim>
</foreach>
</insert>
</mapper>
......@@ -310,7 +310,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<update id="deleteDdTeacher" parameterType="Long">
update sys_teacher set del_flag = "2" where id = #{userId}
update school_teacher set del_flag = "2" where id = #{userId}
</update>
<select id="selectDeptIdByUserId" parameterType="Long" resultType="Long">
......
......@@ -123,6 +123,8 @@
WHERE m.class_id = #{classId} and m.del_flag = '0' and t.del_flag = '0'
</select>
<select id="getTeacherClass" resultType="yangtz.cs.liu.wechat.vo.schoolClass.SchoolClassVo">
SELECT sg.id,
sg.teacher_name,
......@@ -140,9 +142,11 @@
sg.is_graduated,
sg.pic_url,
sg.house_name
FROM school_class sg
LEFT JOIN school_class_mentor scm on scm.class_id = sg.id
WHERE scm.teacher_id = #{teacherId} and sg.school_year = #{schoolYear}
FROM school_class_mentor scm
INNER JOIN school_class_headmaster ch
ON scm.teacher_id = ch.teacher_id
INNER JOIN school_class sg on sg.id in (scm.class_id,ch.class_id)
WHERE scm.teacher_id = #{teacherId} and sg.school_year = #{schoolYear}
and sg.del_flag = '0'
and scm.del_flag = '0'
</select>
......
......@@ -63,7 +63,26 @@
<if test="deptDirector != null and deptDirector != ''"> and dept_director = #{deptDirector}</if>
<if test="awardsTime != null "> and awards_time = #{awardsTime}</if>
<if test="awardsType != null and awardsType != ''"> and awards_type = #{awardsType}</if>
<if test="auditState != null and auditState != ''"> and audit_state = #{auditState}</if>
<if test="auditState != null and auditState != ''"> and audit_state != #{auditState}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="startTime != null and endTime != null and startTime != '' and endTime != ''">and DATE_FORMAT(awards_time,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
</where>
</select>
<select id="selectSchoolScAwardsListTg" parameterType="SchoolScAwardsVo" resultMap="SchoolScAwardsVoResult">
<include refid="selectSchoolScAwardsVo"/>
<where>
del_flag = '0' and audit_state = #{auditState}
<if test="competitionName != null and competitionName != ''"> and competition_name like concat('%', #{competitionName}, '%')</if>
<if test="organizer != null and organizer != ''"> and organizer = #{organizer}</if>
<if test="awardsName != null and awardsName != ''"> and awards_name like concat('%', #{awardsName}, '%')</if>
<if test="competentDeptId != null "> and competent_dept_id = #{competentDeptId}</if>
<if test="competentDept != null and competentDept != ''"> and competent_dept = #{competentDept}</if>
<if test="awardsLevel != null and awardsLevel != ''"> and awards_level = #{awardsLevel}</if>
<if test="deptDirectorId != null "> and dept_director_id = #{deptDirectorId}</if>
<if test="deptDirector != null and deptDirector != ''"> and dept_director = #{deptDirector}</if>
<if test="awardsTime != null "> and awards_time = #{awardsTime}</if>
<if test="awardsType != null and awardsType != ''"> and awards_type = #{awardsType}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if>
<if test="startTime != null and endTime != null and startTime != '' and endTime != ''">and DATE_FORMAT(awards_time,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
</where>
......
......@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.schoolRewardsPunishments.SchoolScDisciplineMapper">
<mapper namespace="yangtz.cs.liu.campus.mapper.schoolRewardsPunishments.SchoolScDisciplineMapper">
<resultMap type="SchoolScDiscipline" id="SchoolScDisciplineResult">
<result property="id" column="id" />
......@@ -17,7 +17,9 @@
<result property="name" column="name" />
<result property="sex" column="sex" />
<result property="idCard" column="id_card" />
<result property="classTeacherId" column="class_teacher_id" />
<result property="classTeacher" column="class_teacher" />
<result property="gradeDirectorId" column="grade_director_id" />
<result property="gradeDirector" column="grade_director" />
<result property="violateType" column="violate_type" />
<result property="violateNum" column="violate_num" />
......@@ -37,7 +39,7 @@
<sql id="selectSchoolScDisciplineVo">
select id, school_year, semester, grade_year, grade_id, grade_name, class_id, class_name,
class_type, name, sex, id_card, class_teacher, grade_director, violate_type, violate_num,
class_type, name, sex, id_card, class_teacher_id, class_teacher, grade_director_id, grade_director, violate_type, violate_num,
punish_result, punish_time, remark, audit_state, apply_id, apply_name, apply_time, create_by,
create_time, update_by, update_time, del_flag
from school_sc_discipline
......@@ -46,6 +48,7 @@
<select id="selectSchoolScDisciplineList" parameterType="SchoolScDiscipline" resultMap="SchoolScDisciplineResult">
<include refid="selectSchoolScDisciplineVo"/>
<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="gradeYear != null and gradeYear != ''"> and grade_year = #{gradeYear}</if>
......@@ -57,15 +60,46 @@
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="sex != null and sex != ''"> and sex = #{sex}</if>
<if test="idCard != null and idCard != ''"> and id_card like concat('%', #{idCard}, '%')</if>
<if test="classTeacherId != null"> and class_teacher_id = #{classTeacherId}</if>
<if test="classTeacher != null and classTeacher != ''"> and class_teacher like concat('%', #{classTeacher}, '%')</if>
<if test="gradeDirectorId != null"> and grade_director_id = #{gradeDirectorId}</if>
<if test="gradeDirector != null and gradeDirector != ''"> and grade_director like concat('%', #{gradeDirector}, '%')</if>
<if test="violateType != null and violateType != ''"> and violate_type = #{violateType}</if>
<if test="violateNum != null and violateNum != ''"> and violate_num = #{violateNum}</if>
<if test="punishResult != null and punishResult != ''"> and punish_result = #{punishResult}</if>
<if test="punishTime != null "> and punish_time = #{punishTime}</if>
<if test="auditState != null and auditState != ''"> and audit_state != #{auditState}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if>
</where>
order by create_time DESC
</select>
<select id="selectSchoolScDisciplineListTg" parameterType="SchoolScDiscipline" resultMap="SchoolScDisciplineResult">
<include refid="selectSchoolScDisciplineVo"/>
<where>
del_flag = '0' and audit_state = #{auditState}
<if test="schoolYear != null and schoolYear != ''"> and school_year = #{schoolYear}</if>
<if test="semester != null and semester != ''"> and semester = #{semester}</if>
<if test="gradeYear != null and gradeYear != ''"> and grade_year = #{gradeYear}</if>
<if test="gradeId != null "> and grade_id = #{gradeId}</if>
<if test="gradeName != null and gradeName != ''"> and grade_name like concat('%', #{gradeName}, '%')</if>
<if test="classId != null "> and class_id = #{classId}</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="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="sex != null and sex != ''"> and sex = #{sex}</if>
<if test="idCard != null and idCard != ''"> and id_card like concat('%', #{idCard}, '%')</if>
<if test="classTeacherId != null"> and class_teacher_id = #{classTeacherId}</if>
<if test="classTeacher != null and classTeacher != ''"> and class_teacher like concat('%', #{classTeacher}, '%')</if>
<if test="gradeDirectorId != null"> and grade_director_id = #{gradeDirectorId}</if>
<if test="gradeDirector != null and gradeDirector != ''"> and grade_director = #{gradeDirector}</if>
<if test="violateType != null and violateType != ''"> and violate_type = #{violateType}</if>
<if test="violateNum != null and violateNum != ''"> and violate_num = #{violateNum}</if>
<if test="punishResult != null and punishResult != ''"> and punish_result = #{punishResult}</if>
<if test="punishTime != null "> and punish_time = #{punishTime}</if>
<if test="auditState != null and auditState != ''"> and audit_state = #{auditState}</if>
<if test="applyId != null "> and a.apply_id = #{applyId}</if>
<if test="applyId != null "> and apply_id = #{applyId}</if>
</where>
order by create_time DESC
</select>
<select id="selectSchoolScDisciplineById" parameterType="Long" resultMap="SchoolScDisciplineResult">
......@@ -79,16 +113,14 @@
<if test="schoolYear != null">school_year,</if>
<if test="semester != null">semester,</if>
<if test="gradeYear != null">grade_year,</if>
<if test="gradeId != null">grade_id,</if>
<if test="gradeName != null">grade_name,</if>
<if test="classId != null">class_id,</if>
<if test="className != null">class_name,</if>
<if test="gradeId != null">grade_id,grade_name,</if>
<if test="classId != null">class_id,class_name,</if>
<if test="classType != null">class_type,</if>
<if test="name != null">name,</if>
<if test="sex != null">sex,</if>
<if test="idCard != null">id_card,</if>
<if test="classTeacher != null">class_teacher,</if>
<if test="gradeDirector != null">grade_director,</if>
<if test="classTeacherId != null">class_teacher_id,class_teacher,</if>
<if test="gradeDirectorId != null">grade_director_id,grade_director,</if>
<if test="violateType != null">violate_type,</if>
<if test="violateNum != null">violate_num,</if>
<if test="punishResult != null">punish_result,</if>
......@@ -108,16 +140,14 @@
<if test="schoolYear != null">#{schoolYear},</if>
<if test="semester != null">#{semester},</if>
<if test="gradeYear != null">#{gradeYear},</if>
<if test="gradeId != null">#{gradeId},</if>
<if test="gradeName != null">#{gradeName},</if>
<if test="classId != null">#{classId},</if>
<if test="className != null">#{className},</if>
<if test="gradeId != null">#{gradeId},(select grade_name from school_grade where id = #{gradeId}),</if>
<if test="classId != null">#{classId},(select class_value from school_class where id = #{classId}),</if>
<if test="classType != null">#{classType},</if>
<if test="name != null">#{name},</if>
<if test="sex != null">#{sex},</if>
<if test="idCard != null">#{idCard},</if>
<if test="classTeacher != null">#{classTeacher},</if>
<if test="gradeDirector != null">#{gradeDirector},</if>
<if test="classTeacherId != null">#{classTeacherId},(select user_name from sys_user where user_id = #{classTeacherId}),</if>
<if test="gradeDirectorId != null">#{gradeDirectorId},(select user_name from sys_user where user_id = #{gradeDirectorId}),</if>
<if test="violateType != null">#{violateType},</if>
<if test="violateNum != null">#{violateNum},</if>
<if test="punishResult != null">#{punishResult},</if>
......@@ -141,16 +171,14 @@
<if test="schoolYear != null">school_year = #{schoolYear},</if>
<if test="semester != null">semester = #{semester},</if>
<if test="gradeYear != null">grade_year = #{gradeYear},</if>
<if test="gradeId != null">grade_id = #{gradeId},</if>
<if test="gradeName != null">grade_name = #{gradeName},</if>
<if test="classId != null">class_id = #{classId},</if>
<if test="className != null">class_name = #{className},</if>
<if test="gradeId != null">grade_id = #{gradeId},grade_name = (select grade_name from school_grade where id = #{gradeId}),</if>
<if test="classId != null">class_id = #{classId},class_name = (select class_value from school_class where id = #{classId}),</if>
<if test="classType != null">class_type = #{classType},</if>
<if test="name != null">name = #{name},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="idCard != null">id_card = #{idCard},</if>
<if test="classTeacher != null">class_teacher = #{classTeacher},</if>
<if test="gradeDirector != null">grade_director = #{gradeDirector},</if>
<if test="classTeacherId != null">class_teacher_id = #{classTeacherId},class_teacher = (select user_name from sys_user where user_id = #{classTeacherId}),</if>
<if test="gradeDirectorId != null">grade_director_id = #{gradeDirectorId},grade_director = (select user_name from sys_user where user_id = #{gradeDirectorId}),</if>
<if test="violateType != null">violate_type = #{violateType},</if>
<if test="violateNum != null">violate_num = #{violateNum},</if>
<if test="punishResult != null">punish_result = #{punishResult},</if>
......@@ -169,24 +197,25 @@
where id = #{id}
</update>
<delete id="deleteSchoolScDisciplineById" parameterType="Long">
delete from school_sc_discipline where id = #{id}
</delete>
<update id="deleteSchoolScDisciplineById" parameterType="Long">
update school_sc_discipline set del_flag = '1' where id = #{id}
</update>
<delete id="deleteSchoolScDisciplineByIds" parameterType="String">
delete from school_sc_discipline where id in
<update id="deleteSchoolScDisciplineByIds" parameterType="String">
update school_sc_discipline set del_flag = '1' where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</update>
<select id="getGrade" resultType="Map">
SELECT id as gradeId, grade_value as gradeValue, school_year as schoolYear, grade_year as gradeYear,
grade_name as gradeName, remark as remark
FROM `school_grade` ORDER BY grade_year DESC LIMIT 3
FROM school_grade where del_flag = '0' ORDER BY grade_year DESC LIMIT 3
</select>
<select id="getClassList" resultType="Map">
select id as classId, class_type as classType, class_value as classValue, class_name as className, class_alias as classAlias
from school_class where del_flag = '0' and grade_id = #{gradeId} order by class_value ASC
</select>
</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