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