Commit 8b00123c by wangjian

Merge remote-tracking branch 'origin/master'

parents 28973cf4 f6809eb6
...@@ -8,7 +8,13 @@ export function listAssessment(query) { ...@@ -8,7 +8,13 @@ export function listAssessment(query) {
params: query, params: query,
}); });
} }
export function listAssessmentall(query) {
return request({
url: "/assessment/listAll",
method: "get",
params: query,
});
}
// 查询班主任考核详细 // 查询班主任考核详细
export function getAssessment(id) { export function getAssessment(id) {
return request({ return request({
......
.el-breadcrumb__inner,
.el-breadcrumb__inner a {
font-weight: 400 !important;
}
.el-upload input[type="file"] {
display: none !important;
}
.el-upload__input {
display: none;
}
.cell .el-tag {
margin-right: 0px;
}
.small-padding .cell {
padding-left: 5px;
padding-right: 5px;
}
.fixed-width .el-button--mini {
padding: 7px 10px;
width: 60px;
}
.status-col .cell {
padding: 0 10px;
text-align: center;
}
.status-col .cell .el-tag {
margin-right: 0px;
}
.el-dialog {
transform: none;
left: 0;
position: relative;
margin: 0 auto;
}
.upload-container .el-upload {
width: 100%;
}
.upload-container .el-upload .el-upload-dragger {
width: 100%;
height: 200px;
}
.el-dropdown-menu a {
display: block;
}
.el-range-editor.el-input__inner {
display: inline-flex !important;
}
.el-range-separator {
box-sizing: content-box;
}
.el-menu--collapse
> div
> .el-submenu
> .el-submenu__title
.el-submenu__icon-arrow {
display: none;
}
.el-input.is-disabled .el-input__inner {
color: #303133 !important;
}
.el-breadcrumb__inner,.el-breadcrumb__inner a{font-weight:400 !important}.el-upload input[type="file"]{display:none !important}.el-upload__input{display:none}.cell .el-tag{margin-right:0px}.small-padding .cell{padding-left:5px;padding-right:5px}.fixed-width .el-button--mini{padding:7px 10px;width:60px}.status-col .cell{padding:0 10px;text-align:center}.status-col .cell .el-tag{margin-right:0px}.el-dialog{transform:none;left:0;position:relative;margin:0 auto}.upload-container .el-upload{width:100%}.upload-container .el-upload .el-upload-dragger{width:100%;height:200px}.el-dropdown-menu a{display:block}.el-range-editor.el-input__inner{display:inline-flex !important}.el-range-separator{box-sizing:content-box}.el-menu--collapse>div>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-input.is-disabled .el-input__inner{color:#303133 !important}
...@@ -91,3 +91,8 @@ ...@@ -91,3 +91,8 @@
.el-submenu__icon-arrow { .el-submenu__icon-arrow {
display: none; display: none;
} }
.el-input.is-disabled{
.el-input__inner{
color: #303133 !important;
}
}
@charset "UTF-8";
/**
$base-menu-color:hsla(0,0%,100%,.65);
$base-menu-color-active:#fff;
$base-menu-background:#001529;
$base-logo-title-color: #ffffff;
$base-menu-light-color:rgba(0,0,0,.70);
$base-menu-light-background:#ffffff;
$base-logo-light-title-color: #001529;
$base-sub-menu-background:#000c17;
$base-sub-menu-hover:#001528;
*/
:export {
menuColor: #bfcbd9;
menuLightColor: rgba(0, 0, 0, 0.7);
menuColorActive: #f4f4f5;
menuBackground: #304156;
menuLightBackground: #ffffff;
subMenuBackground: #1f2d3d;
subMenuHover: #001528;
sideBarWidth: 200px;
logoTitleColor: #ffffff;
logoLightTitleColor: #001529;
}
/* fade */
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.28s;
}
.fade-enter,
.fade-leave-active {
opacity: 0;
}
/* fade-transform */
.fade-transform--move,
.fade-transform-leave-active,
.fade-transform-enter-active {
transition: all .5s;
}
.fade-transform-leave-active {
position: absolute;
}
.fade-transform-enter {
opacity: 0;
transform: translateX(-30px);
}
.fade-transform-leave-to {
opacity: 0;
transform: translateX(30px);
}
/* breadcrumb transition */
.breadcrumb-enter-active,
.breadcrumb-leave-active {
transition: all .5s;
}
.breadcrumb-enter,
.breadcrumb-leave-active {
opacity: 0;
transform: translateX(20px);
}
.breadcrumb-move {
transition: all .5s;
}
.breadcrumb-leave-active {
position: absolute;
}
.el-breadcrumb__inner,
.el-breadcrumb__inner a {
font-weight: 400 !important;
}
.el-upload input[type="file"] {
display: none !important;
}
.el-upload__input {
display: none;
}
.cell .el-tag {
margin-right: 0px;
}
.small-padding .cell {
padding-left: 5px;
padding-right: 5px;
}
.fixed-width .el-button--mini {
padding: 7px 10px;
width: 60px;
}
.status-col .cell {
padding: 0 10px;
text-align: center;
}
.status-col .cell .el-tag {
margin-right: 0px;
}
.el-dialog {
transform: none;
left: 0;
position: relative;
margin: 0 auto;
}
.upload-container .el-upload {
width: 100%;
}
.upload-container .el-upload .el-upload-dragger {
width: 100%;
height: 200px;
}
.el-dropdown-menu a {
display: block;
}
.el-range-editor.el-input__inner {
display: inline-flex !important;
}
.el-range-separator {
box-sizing: content-box;
}
.el-menu--collapse
> div
> .el-submenu
> .el-submenu__title
.el-submenu__icon-arrow {
display: none;
}
.el-input.is-disabled ::v-deep .el-input__inner {
color: #303133 !important;
}
#app .main-container {
min-height: 100%;
transition: margin-left .28s;
margin-left: 200px;
position: relative;
}
#app .sidebarHide {
margin-left: 0 !important;
}
#app .sidebar-container {
-webkit-transition: width .28s;
transition: width 0.28s;
width: 200px !important;
background-color: #304156;
height: 100%;
position: fixed;
font-size: 0px;
top: 0;
bottom: 0;
left: 0;
z-index: 1001;
overflow: hidden;
-webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35);
box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35);
}
#app .sidebar-container .horizontal-collapse-transition {
transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
}
#app .sidebar-container .scrollbar-wrapper {
overflow-x: hidden !important;
}
#app .sidebar-container .el-scrollbar__bar.is-vertical {
right: 0px;
}
#app .sidebar-container .el-scrollbar {
height: 100%;
}
#app .sidebar-container.has-logo .el-scrollbar {
height: calc(100% - 50px);
}
#app .sidebar-container .is-horizontal {
display: none;
}
#app .sidebar-container a {
display: inline-block;
width: 100%;
overflow: hidden;
}
#app .sidebar-container .svg-icon {
margin-right: 16px;
}
#app .sidebar-container .el-menu {
border: none;
height: 100%;
width: 100% !important;
}
#app .sidebar-container .el-menu-item, #app .sidebar-container .el-submenu__title {
overflow: hidden !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
#app .sidebar-container .submenu-title-noDropdown:hover,
#app .sidebar-container .el-submenu__title:hover {
background-color: rgba(0, 0, 0, 0.06) !important;
}
#app .sidebar-container .theme-dark .is-active > .el-submenu__title {
color: #f4f4f5 !important;
}
#app .sidebar-container .nest-menu .el-submenu > .el-submenu__title,
#app .sidebar-container .el-submenu .el-menu-item {
min-width: 200px !important;
}
#app .sidebar-container .nest-menu .el-submenu > .el-submenu__title:hover,
#app .sidebar-container .el-submenu .el-menu-item:hover {
background-color: rgba(0, 0, 0, 0.06) !important;
}
#app .sidebar-container .theme-dark .nest-menu .el-submenu > .el-submenu__title,
#app .sidebar-container .theme-dark .el-submenu .el-menu-item {
background-color: #1f2d3d !important;
}
#app .sidebar-container .theme-dark .nest-menu .el-submenu > .el-submenu__title:hover,
#app .sidebar-container .theme-dark .el-submenu .el-menu-item:hover {
background-color: #001528 !important;
}
#app .hideSidebar .sidebar-container {
width: 54px !important;
}
#app .hideSidebar .main-container {
margin-left: 54px;
}
#app .hideSidebar .submenu-title-noDropdown {
padding: 0 !important;
position: relative;
}
#app .hideSidebar .submenu-title-noDropdown .el-tooltip {
padding: 0 !important;
}
#app .hideSidebar .submenu-title-noDropdown .el-tooltip .svg-icon {
margin-left: 20px;
}
#app .hideSidebar .el-submenu {
overflow: hidden;
}
#app .hideSidebar .el-submenu > .el-submenu__title {
padding: 0 !important;
}
#app .hideSidebar .el-submenu > .el-submenu__title .svg-icon {
margin-left: 20px;
}
#app .hideSidebar .el-menu--collapse .el-submenu > .el-submenu__title > span {
height: 0;
width: 0;
overflow: hidden;
visibility: hidden;
display: inline-block;
}
#app .el-menu--collapse .el-menu .el-submenu {
min-width: 200px !important;
}
#app .mobile .main-container {
margin-left: 0px;
}
#app .mobile .sidebar-container {
transition: transform .28s;
width: 200px !important;
}
#app .mobile.hideSidebar .sidebar-container {
pointer-events: none;
transition-duration: 0.3s;
transform: translate3d(-200px, 0, 0);
}
#app .withoutAnimation .main-container,
#app .withoutAnimation .sidebar-container {
transition: none;
}
.el-menu--vertical > .el-menu .svg-icon {
margin-right: 16px;
}
.el-menu--vertical .nest-menu .el-submenu > .el-submenu__title:hover,
.el-menu--vertical .el-menu-item:hover {
background-color: rgba(0, 0, 0, 0.06) !important;
}
.el-menu--vertical > .el-menu--popup {
max-height: 100vh;
overflow-y: auto;
}
.el-menu--vertical > .el-menu--popup::-webkit-scrollbar-track-piece {
background: #d3dce6;
}
.el-menu--vertical > .el-menu--popup::-webkit-scrollbar {
width: 6px;
}
.el-menu--vertical > .el-menu--popup::-webkit-scrollbar-thumb {
background: #99a9bf;
border-radius: 20px;
}
/**
$base-menu-color:hsla(0,0%,100%,.65);
$base-menu-color-active:#fff;
$base-menu-background:#001529;
$base-logo-title-color: #ffffff;
$base-menu-light-color:rgba(0,0,0,.70);
$base-menu-light-background:#ffffff;
$base-logo-light-title-color: #001529;
$base-sub-menu-background:#000c17;
$base-sub-menu-hover:#001528;
*/
:export {
menuColor: #bfcbd9;
menuLightColor: rgba(0, 0, 0, 0.7);
menuColorActive: #f4f4f5;
menuBackground: #304156;
menuLightBackground: #ffffff;
subMenuBackground: #1f2d3d;
subMenuHover: #001528;
sideBarWidth: 200px;
logoTitleColor: #ffffff;
logoLightTitleColor: #001529;
}
.blue-btn {
background: #324157;
}
.blue-btn:hover {
color: #324157;
}
.blue-btn:hover:before, .blue-btn:hover:after {
background: #324157;
}
.light-blue-btn {
background: #3A71A8;
}
.light-blue-btn:hover {
color: #3A71A8;
}
.light-blue-btn:hover:before, .light-blue-btn:hover:after {
background: #3A71A8;
}
.red-btn {
background: #C03639;
}
.red-btn:hover {
color: #C03639;
}
.red-btn:hover:before, .red-btn:hover:after {
background: #C03639;
}
.pink-btn {
background: #E65D6E;
}
.pink-btn:hover {
color: #E65D6E;
}
.pink-btn:hover:before, .pink-btn:hover:after {
background: #E65D6E;
}
.green-btn {
background: #30B08F;
}
.green-btn:hover {
color: #30B08F;
}
.green-btn:hover:before, .green-btn:hover:after {
background: #30B08F;
}
.tiffany-btn {
background: #4AB7BD;
}
.tiffany-btn:hover {
color: #4AB7BD;
}
.tiffany-btn:hover:before, .tiffany-btn:hover:after {
background: #4AB7BD;
}
.yellow-btn {
background: #FEC171;
}
.yellow-btn:hover {
color: #FEC171;
}
.yellow-btn:hover:before, .yellow-btn:hover:after {
background: #FEC171;
}
.pan-btn {
font-size: 14px;
color: #fff;
padding: 14px 36px;
border-radius: 8px;
border: none;
outline: none;
transition: 600ms ease all;
position: relative;
display: inline-block;
}
.pan-btn:hover {
background: #fff;
}
.pan-btn:hover:before, .pan-btn:hover:after {
width: 100%;
transition: 600ms ease all;
}
.pan-btn:before, .pan-btn:after {
content: '';
position: absolute;
top: 0;
right: 0;
height: 2px;
width: 0;
transition: 400ms ease all;
}
.pan-btn::after {
right: inherit;
top: inherit;
left: 0;
bottom: 0;
}
.custom-button {
display: inline-block;
line-height: 1;
white-space: nowrap;
cursor: pointer;
background: #fff;
color: #fff;
-webkit-appearance: none;
text-align: center;
box-sizing: border-box;
outline: 0;
margin: 0;
padding: 10px 15px;
font-size: 14px;
border-radius: 4px;
}
/* 自定义全局样式 */
.el-table {
/*定义滚动条轨道 内阴影+圆角*/
/*定义滑块 内阴影+圆角*/
/* 兼容firefox(进度条样式) */
/* 自定义固定列的高度 */
}
.el-table .el-table__body-wrapper::-webkit-scrollbar {
width: 8px;
/*滚动条宽度*/
height: 8px;
/*滚动条高度*/
}
.el-table .el-table__body-wrapper::-webkit-scrollbar-track {
border-radius: 10px;
/*滚动条的背景区域的圆角*/
}
.el-table .el-table__body-wrapper::-webkit-scrollbar-thumb {
border-radius: 10px;
/*滚动条的圆角*/
background-color: rgba(0, 0, 0, 0.15);
/*滚动条的背景颜色*/
}
.el-table .el-table__body-wrapper {
scrollbar-width: thin;
scrollbar-color: rgba(0, 0, 0, 0.15) rgba(255, 255, 255, 0);
}
.el-table .el-table__fixed,
.el-table .el-table__fixed-right {
height: 100% !important;
}
.custom-avatar {
width: 36px;
height: 36px;
border-radius: 18px;
vertical-align: middle;
}
.custom-image {
width: 40px;
height: 40px;
vertical-align: middle;
}
.task-container {
display: flex;
width: 100%;
}
.task-container .task-left-menu {
width: 120px;
align-items: stretch;
}
.task-container .task-left-menu .el-tabs {
height: 100%;
}
.task-container .task-right-content {
width: calc(100% - 120px);
padding-left: 20px;
}
.custom-input__number input::-webkit-outer-spin-button,
.custom-input__number input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.custom-input__number input[type='number'] {
-moz-appearance: textfield;
line-height: 1px !important;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
label {
font-weight: 700;
}
html {
height: 100%;
box-sizing: border-box;
}
#app {
height: 100%;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
.no-padding {
padding: 0px !important;
}
.padding-content {
padding: 4px 0;
}
a:focus,
a:active {
outline: none;
}
a,
a:focus,
a:hover {
cursor: pointer;
color: inherit;
text-decoration: none;
}
div:focus {
outline: none;
}
.fr {
float: right;
}
.fl {
float: left;
}
.pr-5 {
padding-right: 5px;
}
.pl-5 {
padding-left: 5px;
}
.block {
display: block;
}
.pointer {
cursor: pointer;
}
.inlineBlock {
display: block;
}
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
aside {
background: #eef1f6;
padding: 8px 24px;
margin-bottom: 20px;
border-radius: 2px;
display: block;
line-height: 32px;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
aside a {
color: #337ab7;
cursor: pointer;
}
aside a:hover {
color: #20a0ff;
}
.app-container {
padding: 20px;
}
.components-container {
margin: 30px 50px;
position: relative;
}
.pagination-container {
margin-top: 30px;
}
.text-center {
text-align: center;
}
.sub-navbar {
height: 50px;
line-height: 50px;
position: relative;
width: 100%;
text-align: right;
padding-right: 20px;
transition: 600ms ease position;
background: linear-gradient(90deg, #20b6f9 0%, #20b6f9 0%, #2178f1 100%, #2178f1 100%);
}
.sub-navbar .subtitle {
font-size: 20px;
color: #fff;
}
.sub-navbar.draft {
background: #d0d0d0;
}
.sub-navbar.deleted {
background: #d0d0d0;
}
.link-type,
.link-type:focus {
color: #337ab7;
cursor: pointer;
}
.link-type:hover,
.link-type:focus:hover {
color: #20a0ff;
}
.filter-container {
padding-bottom: 10px;
}
.filter-container .filter-item {
display: inline-block;
vertical-align: middle;
margin-bottom: 10px;
}
.multiselect {
line-height: 16px;
}
.multiselect--active {
z-index: 1000 !important;
}
.flexBlock {
display: flex;
flex-direction: row;
align-items: center;
}
.selectWidth {
width: 100% !important;
}
::v-deep .el-input.is-disabled .el-input__inner {
color: #303133 !important;
}
:export{menuColor:#bfcbd9;menuLightColor:rgba(0,0,0,0.7);menuColorActive:#f4f4f5;menuBackground:#304156;menuLightBackground:#fff;subMenuBackground:#1f2d3d;subMenuHover:#001528;sideBarWidth:200px;logoTitleColor:#fff;logoLightTitleColor:#001529}.fade-enter-active,.fade-leave-active{transition:opacity 0.28s}.fade-enter,.fade-leave-active{opacity:0}.fade-transform--move,.fade-transform-leave-active,.fade-transform-enter-active{transition:all .5s}.fade-transform-leave-active{position:absolute}.fade-transform-enter{opacity:0;transform:translateX(-30px)}.fade-transform-leave-to{opacity:0;transform:translateX(30px)}.breadcrumb-enter-active,.breadcrumb-leave-active{transition:all .5s}.breadcrumb-enter,.breadcrumb-leave-active{opacity:0;transform:translateX(20px)}.breadcrumb-move{transition:all .5s}.breadcrumb-leave-active{position:absolute}.el-breadcrumb__inner,.el-breadcrumb__inner a{font-weight:400 !important}.el-upload input[type="file"]{display:none !important}.el-upload__input{display:none}.cell .el-tag{margin-right:0px}.small-padding .cell{padding-left:5px;padding-right:5px}.fixed-width .el-button--mini{padding:7px 10px;width:60px}.status-col .cell{padding:0 10px;text-align:center}.status-col .cell .el-tag{margin-right:0px}.el-dialog{transform:none;left:0;position:relative;margin:0 auto}.upload-container .el-upload{width:100%}.upload-container .el-upload .el-upload-dragger{width:100%;height:200px}.el-dropdown-menu a{display:block}.el-range-editor.el-input__inner{display:inline-flex !important}.el-range-separator{box-sizing:content-box}.el-menu--collapse>div>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-input.is-disabled ::v-deep .el-input__inner{color:#303133 !important}#app .main-container{min-height:100%;transition:margin-left .28s;margin-left:200px;position:relative}#app .sidebarHide{margin-left:0 !important}#app .sidebar-container{-webkit-transition:width .28s;transition:width 0.28s;width:200px !important;background-color:#304156;height:100%;position:fixed;font-size:0px;top:0;bottom:0;left:0;z-index:1001;overflow:hidden;-webkit-box-shadow:2px 0 6px rgba(0,21,41,0.35);box-shadow:2px 0 6px rgba(0,21,41,0.35)}#app .sidebar-container .horizontal-collapse-transition{transition:0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out}#app .sidebar-container .scrollbar-wrapper{overflow-x:hidden !important}#app .sidebar-container .el-scrollbar__bar.is-vertical{right:0px}#app .sidebar-container .el-scrollbar{height:100%}#app .sidebar-container.has-logo .el-scrollbar{height:calc(100% - 50px)}#app .sidebar-container .is-horizontal{display:none}#app .sidebar-container a{display:inline-block;width:100%;overflow:hidden}#app .sidebar-container .svg-icon{margin-right:16px}#app .sidebar-container .el-menu{border:none;height:100%;width:100% !important}#app .sidebar-container .el-menu-item,#app .sidebar-container .el-submenu__title{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}#app .sidebar-container .submenu-title-noDropdown:hover,#app .sidebar-container .el-submenu__title:hover{background-color:rgba(0,0,0,0.06) !important}#app .sidebar-container .theme-dark .is-active>.el-submenu__title{color:#f4f4f5 !important}#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title,#app .sidebar-container .el-submenu .el-menu-item{min-width:200px !important}#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title:hover,#app .sidebar-container .el-submenu .el-menu-item:hover{background-color:rgba(0,0,0,0.06) !important}#app .sidebar-container .theme-dark .nest-menu .el-submenu>.el-submenu__title,#app .sidebar-container .theme-dark .el-submenu .el-menu-item{background-color:#1f2d3d !important}#app .sidebar-container .theme-dark .nest-menu .el-submenu>.el-submenu__title:hover,#app .sidebar-container .theme-dark .el-submenu .el-menu-item:hover{background-color:#001528 !important}#app .hideSidebar .sidebar-container{width:54px !important}#app .hideSidebar .main-container{margin-left:54px}#app .hideSidebar .submenu-title-noDropdown{padding:0 !important;position:relative}#app .hideSidebar .submenu-title-noDropdown .el-tooltip{padding:0 !important}#app .hideSidebar .submenu-title-noDropdown .el-tooltip .svg-icon{margin-left:20px}#app .hideSidebar .el-submenu{overflow:hidden}#app .hideSidebar .el-submenu>.el-submenu__title{padding:0 !important}#app .hideSidebar .el-submenu>.el-submenu__title .svg-icon{margin-left:20px}#app .hideSidebar .el-menu--collapse .el-submenu>.el-submenu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}#app .el-menu--collapse .el-menu .el-submenu{min-width:200px !important}#app .mobile .main-container{margin-left:0px}#app .mobile .sidebar-container{transition:transform .28s;width:200px !important}#app .mobile.hideSidebar .sidebar-container{pointer-events:none;transition-duration:0.3s;transform:translate3d(-200px, 0, 0)}#app .withoutAnimation .main-container,#app .withoutAnimation .sidebar-container{transition:none}.el-menu--vertical>.el-menu .svg-icon{margin-right:16px}.el-menu--vertical .nest-menu .el-submenu>.el-submenu__title:hover,.el-menu--vertical .el-menu-item:hover{background-color:rgba(0,0,0,0.06) !important}.el-menu--vertical>.el-menu--popup{max-height:100vh;overflow-y:auto}.el-menu--vertical>.el-menu--popup::-webkit-scrollbar-track-piece{background:#d3dce6}.el-menu--vertical>.el-menu--popup::-webkit-scrollbar{width:6px}.el-menu--vertical>.el-menu--popup::-webkit-scrollbar-thumb{background:#99a9bf;border-radius:20px}:export{menuColor:#bfcbd9;menuLightColor:rgba(0,0,0,0.7);menuColorActive:#f4f4f5;menuBackground:#304156;menuLightBackground:#fff;subMenuBackground:#1f2d3d;subMenuHover:#001528;sideBarWidth:200px;logoTitleColor:#fff;logoLightTitleColor:#001529}.blue-btn{background:#324157}.blue-btn:hover{color:#324157}.blue-btn:hover:before,.blue-btn:hover:after{background:#324157}.light-blue-btn{background:#3A71A8}.light-blue-btn:hover{color:#3A71A8}.light-blue-btn:hover:before,.light-blue-btn:hover:after{background:#3A71A8}.red-btn{background:#C03639}.red-btn:hover{color:#C03639}.red-btn:hover:before,.red-btn:hover:after{background:#C03639}.pink-btn{background:#E65D6E}.pink-btn:hover{color:#E65D6E}.pink-btn:hover:before,.pink-btn:hover:after{background:#E65D6E}.green-btn{background:#30B08F}.green-btn:hover{color:#30B08F}.green-btn:hover:before,.green-btn:hover:after{background:#30B08F}.tiffany-btn{background:#4AB7BD}.tiffany-btn:hover{color:#4AB7BD}.tiffany-btn:hover:before,.tiffany-btn:hover:after{background:#4AB7BD}.yellow-btn{background:#FEC171}.yellow-btn:hover{color:#FEC171}.yellow-btn:hover:before,.yellow-btn:hover:after{background:#FEC171}.pan-btn{font-size:14px;color:#fff;padding:14px 36px;border-radius:8px;border:none;outline:none;transition:600ms ease all;position:relative;display:inline-block}.pan-btn:hover{background:#fff}.pan-btn:hover:before,.pan-btn:hover:after{width:100%;transition:600ms ease all}.pan-btn:before,.pan-btn:after{content:'';position:absolute;top:0;right:0;height:2px;width:0;transition:400ms ease all}.pan-btn::after{right:inherit;top:inherit;left:0;bottom:0}.custom-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;color:#fff;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;padding:10px 15px;font-size:14px;border-radius:4px}.el-table .el-table__body-wrapper::-webkit-scrollbar{width:8px;height:8px}.el-table .el-table__body-wrapper::-webkit-scrollbar-track{border-radius:10px}.el-table .el-table__body-wrapper::-webkit-scrollbar-thumb{border-radius:10px;background-color:rgba(0,0,0,0.15)}.el-table .el-table__body-wrapper{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0.15) rgba(255,255,255,0)}.el-table .el-table__fixed,.el-table .el-table__fixed-right{height:100% !important}.custom-avatar{width:36px;height:36px;border-radius:18px;vertical-align:middle}.custom-image{width:40px;height:40px;vertical-align:middle}.task-container{display:flex;width:100%}.task-container .task-left-menu{width:120px;align-items:stretch}.task-container .task-left-menu .el-tabs{height:100%}.task-container .task-right-content{width:calc(100% - 120px);padding-left:20px}.custom-input__number input::-webkit-outer-spin-button,.custom-input__number input::-webkit-inner-spin-button{-webkit-appearance:none}.custom-input__number input[type='number']{-moz-appearance:textfield;line-height:1px !important}body{height:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif}label{font-weight:700}html{height:100%;box-sizing:border-box}#app{height:100%}*,*:before,*:after{box-sizing:inherit}.no-padding{padding:0px !important}.padding-content{padding:4px 0}a:focus,a:active{outline:none}a,a:focus,a:hover{cursor:pointer;color:inherit;text-decoration:none}div:focus{outline:none}.fr{float:right}.fl{float:left}.pr-5{padding-right:5px}.pl-5{padding-left:5px}.block{display:block}.pointer{cursor:pointer}.inlineBlock{display:block}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}aside{background:#eef1f6;padding:8px 24px;margin-bottom:20px;border-radius:2px;display:block;line-height:32px;font-size:16px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;color:#2c3e50;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}aside a{color:#337ab7;cursor:pointer}aside a:hover{color:#20a0ff}.app-container{padding:20px}.components-container{margin:30px 50px;position:relative}.pagination-container{margin-top:30px}.text-center{text-align:center}.sub-navbar{height:50px;line-height:50px;position:relative;width:100%;text-align:right;padding-right:20px;transition:600ms ease position;background:linear-gradient(90deg, #20b6f9 0%, #20b6f9 0%, #2178f1 100%, #2178f1 100%)}.sub-navbar .subtitle{font-size:20px;color:#fff}.sub-navbar.draft{background:#d0d0d0}.sub-navbar.deleted{background:#d0d0d0}.link-type,.link-type:focus{color:#337ab7;cursor:pointer}.link-type:hover,.link-type:focus:hover{color:#20a0ff}.filter-container{padding-bottom:10px}.filter-container .filter-item{display:inline-block;vertical-align:middle;margin-bottom:10px}.multiselect{line-height:16px}.multiselect--active{z-index:1000 !important}.flexBlock{display:flex;flex-direction:row;align-items:center}.selectWidth{width:100% !important}::v-deep .el-input.is-disabled .el-input__inner{color:#303133 !important}
...@@ -205,3 +205,7 @@ aside { ...@@ -205,3 +205,7 @@ aside {
.selectWidth { .selectWidth {
width: 100%!important; width: 100%!important;
} }
::v-deep .el-input.is-disabled .el-input__inner{
color: #303133 !important;
}
...@@ -7,11 +7,10 @@ import { tansParams, blobValidate } from "@/utils/ruoyi"; ...@@ -7,11 +7,10 @@ import { tansParams, blobValidate } from "@/utils/ruoyi";
import cache from "@/plugins/cache"; import cache from "@/plugins/cache";
import { saveAs } from "file-saver"; import { saveAs } from "file-saver";
import { timeout } from "@/enums/request"; import { timeout } from "@/enums/request";
import router from "@/router";
let downloadLoadingInstance; let downloadLoadingInstance;
// 是否显示重新登录 // 是否显示重新登录
export let isRelogin = { show: false }; export let isRelogin = { show: false };
axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8"; axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
...@@ -20,7 +19,6 @@ const service = axios.create({ ...@@ -20,7 +19,6 @@ const service = axios.create({
// 超时 // 超时
timeout: timeout, timeout: timeout,
}); });
// request拦截器 // request拦截器
service.interceptors.request.use( service.interceptors.request.use(
(config) => { (config) => {
...@@ -86,10 +84,13 @@ service.interceptors.request.use( ...@@ -86,10 +84,13 @@ service.interceptors.request.use(
// 响应拦截器 // 响应拦截器
service.interceptors.response.use( service.interceptors.response.use(
(res) => { (res) => {
console.log(res, "res");
// 未设置状态码则默认成功状态 // 未设置状态码则默认成功状态
const code = res.data.code || 200; const code = res.data.code || 200;
// console.log(code, "code");
// 获取错误信息 // 获取错误信息
const msg = errorCode[code] || res.data.msg || errorCode["default"]; const msg = errorCode[code] || res.data.msg || errorCode["default"];
// console.log(msg, "msg");
// 二进制数据则直接返回 // 二进制数据则直接返回
if ( if (
res.request.responseType === "blob" || res.request.responseType === "blob" ||
...@@ -98,8 +99,10 @@ service.interceptors.response.use( ...@@ -98,8 +99,10 @@ service.interceptors.response.use(
return res.data; return res.data;
} }
if (code === 401) { if (code === 401) {
// router.push({ path: "/dd" });
if (!isRelogin.show) { if (!isRelogin.show) {
isRelogin.show = true; isRelogin.show = true;
console.log(isRelogin.show, "isRelogin.show");
MessageBox.confirm( MessageBox.confirm(
"登录状态已过期,您可以继续留在该页面,或者重新登录", "登录状态已过期,您可以继续留在该页面,或者重新登录",
"系统提示", "系统提示",
......
...@@ -529,8 +529,9 @@ export default { ...@@ -529,8 +529,9 @@ export default {
//从后端获取任务数量 //从后端获取任务数量
taskNum() { taskNum() {
getTaskNum().then(res => { getTaskNum().then(res => {
// console.log('taskNumList', res) console.log('taskNumList', res)
this.taskNumList = res.data this.taskNumList = res.data
}) })
}, },
...@@ -565,6 +566,7 @@ export default { ...@@ -565,6 +566,7 @@ export default {
getWeatherData() { getWeatherData() {
getWeather().then(res => { getWeather().then(res => {
// log('getWeatherData', res)
this.weatherData = JSON.parse(JSON.stringify(res.weather)) this.weatherData = JSON.parse(JSON.stringify(res.weather))
this.user = JSON.parse(JSON.stringify(res.user)) this.user = JSON.parse(JSON.stringify(res.user))
this.user.loginDate = new Date(this.user.loginDate).toLocaleString() this.user.loginDate = new Date(this.user.loginDate).toLocaleString()
......
...@@ -139,7 +139,10 @@ export default { ...@@ -139,7 +139,10 @@ export default {
// 获取code // 获取code
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
...@@ -159,7 +162,6 @@ export default { ...@@ -159,7 +162,6 @@ export default {
// 获取token // 获取token
getToken(code) { getToken(code) {
getCode(code).then(res => { getCode(code).then(res => {
console.log('res', res);
if (res) { if (res) {
setToken(res) setToken(res)
this.$store.commit('SET_TOKEN', res) this.$store.commit('SET_TOKEN', res)
......
...@@ -66,7 +66,11 @@ ...@@ -66,7 +66,11 @@
<div>{{ selectDictLabel(dict.type.audit_state, row.auditState) }}</div> <div>{{ selectDictLabel(dict.type.audit_state, row.auditState) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="remark" label="备注" width="150" show-overflow-tooltip /> <el-table-column align="center" prop="remark" label="公布形式" width="120" show-overflow-tooltip>
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.announcement, row.remark) }}</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="200"> <el-table-column align="center" fixed="right" label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
...@@ -161,9 +165,11 @@ ...@@ -161,9 +165,11 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="公布形式" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" :rows="2" <el-select v-model="form.remark" placeholder="请选择" clearable style="width: 100%;">
:style="{ width: '100%' }"></el-input> <el-option v-for="dict in dict.type.announcement" :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>
...@@ -264,9 +270,11 @@ ...@@ -264,9 +270,11 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="公布形式" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" :rows="2" <el-select v-model="form.remark" placeholder="请选择" clearable style="width: 100%;">
:style="{ width: '100%' }"></el-input> <el-option v-for="dict in dict.type.announcement" :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>
...@@ -318,7 +326,7 @@ import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/pro ...@@ -318,7 +326,7 @@ import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/pro
export default { export default {
name: 'index', name: 'index',
components: { Treeselect, picAvatar }, components: { Treeselect, picAvatar },
dicts: ['awards_type', 'awards_level', 'audit_state'], dicts: ['awards_type', 'awards_level', 'audit_state', 'announcement'],
data() { data() {
return { return {
isEdit: false, isEdit: false,
...@@ -385,6 +393,9 @@ export default { ...@@ -385,6 +393,9 @@ export default {
schoolAccessoryList: [ schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" } { required: true, message: "证书照片不能为空", trigger: "change" }
], ],
remark: [
{ required: true, message: "公布形式不能为空", trigger: "change" }
],
}, },
//弹窗 //弹窗
......
...@@ -400,6 +400,9 @@ export default { ...@@ -400,6 +400,9 @@ export default {
schoolAccessoryList: [ schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" } { required: true, message: "证书照片不能为空", trigger: "change" }
], ],
remark: [
{ required: true, message: "公布形式不能为空", trigger: "change" }
],
}, },
//弹窗 //弹窗
......
...@@ -63,7 +63,11 @@ ...@@ -63,7 +63,11 @@
<div>{{ selectDictLabel(dict.type.audit_state, row.auditState) }}</div> <div>{{ selectDictLabel(dict.type.audit_state, row.auditState) }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="remark" label="备注" width="150" show-overflow-tooltip /> <el-table-column align="center" prop="remark" label="公布形式" width="120" show-overflow-tooltip>
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.announcement, row.remark) }}</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="150"> <el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
...@@ -146,9 +150,11 @@ ...@@ -146,9 +150,11 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="公布形式" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" :rows="2" <el-select v-model="form.remark" placeholder="请选择" clearable style="width: 100%;">
:style="{ width: '100%' }"></el-input> <el-option v-for="dict in dict.type.announcement" :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>
...@@ -200,7 +206,7 @@ import { InsertDropdownListsHeaders } from '@alicloud/dingtalk/dist/doc_1_0/clie ...@@ -200,7 +206,7 @@ import { InsertDropdownListsHeaders } from '@alicloud/dingtalk/dist/doc_1_0/clie
export default { export default {
name: 'index', name: 'index',
components: { Treeselect, picAvatar }, components: { Treeselect, picAvatar },
dicts: ['awards_type', 'awards_level', 'audit_state'], dicts: ['awards_type', 'awards_level', 'audit_state', 'announcement'],
data() { data() {
return { return {
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
...@@ -267,6 +273,9 @@ export default { ...@@ -267,6 +273,9 @@ export default {
schoolAccessoryList: [ schoolAccessoryList: [
{ required: true, message: "证书照片不能为空", trigger: "change" } { required: true, message: "证书照片不能为空", trigger: "change" }
], ],
remark: [
{ required: true, message: "公布形式不能为空", trigger: "change" }
]
}, },
//弹窗 //弹窗
......
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="班级" prop="className"> <el-form-item label="班级" prop="className">
<el-input v-model="queryForm.className" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryForm.className" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="班级类型"> <el-form-item label="班级类型">
<el-select v-model="queryForm.classType" clearable placeholder="请选择" style="width: 100%"> <el-select v-model="queryForm.classType" clearable placeholder="请选择" style="width: 100%">
...@@ -53,10 +54,11 @@ ...@@ -53,10 +54,11 @@
<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-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" filterable> <el-input v-model="queryForm.classTeacher" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></el-option>
</el-select> </el-select> -->
</el-form-item> </el-form-item>
<el-form-item label="违纪行为"> <el-form-item label="违纪行为">
<el-input v-model="queryForm.violateType" placeholder="输入"></el-input> <el-input v-model="queryForm.violateType" placeholder="输入"></el-input>
...@@ -74,8 +76,8 @@ ...@@ -74,8 +76,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="处分时间"> <el-form-item label="处分时间">
<el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择" <el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd"
clearable style="width: 100%;"> placeholder="请选择" clearable style="width: 100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item class="dialog-footer" style="display: flex; justify-content: center; align-items: center"> <el-form-item class="dialog-footer" style="display: flex; justify-content: center; align-items: center">
...@@ -121,8 +123,10 @@ ...@@ -121,8 +123,10 @@
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" show-overflow-tooltip /> <el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" show-overflow-tooltip />
<el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100" show-overflow-tooltip /> <el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100"
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100" show-overflow-tooltip /> show-overflow-tooltip />
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100"
show-overflow-tooltip />
<el-table-column align="center" prop="violateType" sortable label="违纪行为" width="120" show-overflow-tooltip> <el-table-column align="center" prop="violateType" sortable label="违纪行为" width="120" show-overflow-tooltip>
<!-- <template slot-scope="{ row }"> <!-- <template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div> <div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div>
...@@ -170,8 +174,8 @@ ...@@ -170,8 +174,8 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="学期" prop="semester"> <el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;"> <el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value"
:value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -242,26 +246,51 @@ ...@@ -242,26 +246,51 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班主任" prop="classTeacherId"> <el-form-item label="班主任" prop="classTeacher">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }"> <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" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="gradeDirectorId"> <el-form-item label="级部主任" prop="gradeDirector">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }"> <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" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="违纪行为"> <el-form-item label="违纪行为">
<el-input v-model="form.violateType" placeholder="输入"></el-input> <el-input v-model="form.violateType" placeholder="输入"></el-input>
</el-form-item> </el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- <el-form-item label="违纪行为" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item> -->
<el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入" type="textarea"></el-input>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -283,8 +312,6 @@ ...@@ -283,8 +312,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="处分时间" prop="punishTime"> <el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd" <el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
...@@ -294,6 +321,9 @@ ...@@ -294,6 +321,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" <el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
......
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="班级" prop="className"> <el-form-item label="班级" prop="className">
<el-input v-model="queryForm.className" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryForm.className" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="班级类型"> <el-form-item label="班级类型">
<el-select v-model="queryForm.classType" clearable placeholder="请选择" style="width: 100%"> <el-select v-model="queryForm.classType" clearable placeholder="请选择" style="width: 100%">
...@@ -53,10 +54,11 @@ ...@@ -53,10 +54,11 @@
<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-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" filterable> <!-- <el-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></el-option>
</el-select> </el-select> -->
<el-input v-model="queryForm.classTeacher" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="违纪行为"> <el-form-item label="违纪行为">
<el-input v-model="queryForm.violateType" placeholder="输入"></el-input> <el-input v-model="queryForm.violateType" placeholder="输入"></el-input>
...@@ -74,8 +76,8 @@ ...@@ -74,8 +76,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="处分时间"> <el-form-item label="处分时间">
<el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择" <el-date-picker v-model="queryForm.punishTime" type="date" value-format="yyyy-MM-dd"
clearable style="width: 100%;"> placeholder="请选择" clearable style="width: 100%;">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item class="dialog-footer" style="display: flex; justify-content: center; align-items: center"> <el-form-item class="dialog-footer" style="display: flex; justify-content: center; align-items: center">
...@@ -130,8 +132,10 @@ ...@@ -130,8 +132,10 @@
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" show-overflow-tooltip /> <el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" show-overflow-tooltip />
<el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100" show-overflow-tooltip /> <el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100"
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100" show-overflow-tooltip /> show-overflow-tooltip />
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100"
show-overflow-tooltip />
<el-table-column align="center" prop="violateType" sortable label="违纪行为" width="180" show-overflow-tooltip> <el-table-column align="center" prop="violateType" sortable label="违纪行为" width="180" show-overflow-tooltip>
<!-- <template slot-scope="{ row }"> <!-- <template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div> <div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div>
...@@ -185,7 +189,8 @@ ...@@ -185,7 +189,8 @@
<el-form-item prop="dataUrl"> <el-form-item prop="dataUrl">
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag> :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false"
drag>
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text"> <div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em> 将文件拖到此处,或<em>点击上传</em>
...@@ -226,8 +231,8 @@ ...@@ -226,8 +231,8 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="学期" prop="semester"> <el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;"> <el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value"
:value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -297,24 +302,37 @@ ...@@ -297,24 +302,37 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班主任" prop="classTeacherId"> <el-form-item label="班主任" prop="classTeacher">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.classTeacher" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="gradeDirectorId"> <el-form-item label="级部主任" prop="gradeDirector">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.gradeDirector" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- <el-form-item label="违纪行为" prop="violateType"> <!-- <el-form-item label="违纪行为" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;"> <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" <el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
...@@ -322,21 +340,13 @@ ...@@ -322,21 +340,13 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<el-form-item label="违纪行为" prop="violateType"> <el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入"></el-input> <el-input v-model="form.violateType" placeholder="输入" type="textarea"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8">
<el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="处分结果" prop="punishResult"> <el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
...@@ -344,10 +354,7 @@ ...@@ -344,10 +354,7 @@
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="处分时间" prop="punishTime"> <el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd" <el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
...@@ -357,6 +364,9 @@ ...@@ -357,6 +364,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" <el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
...@@ -394,8 +404,8 @@ ...@@ -394,8 +404,8 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="学期" prop="semester"> <el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;"> <el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value"
:value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -464,31 +474,31 @@ ...@@ -464,31 +474,31 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班主任" prop="classTeacherId"> <el-form-item label="班主任" prop="classTeacher">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.classTeacher" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="gradeDirectorId"> <el-form-item label="级部主任" prop="gradeDirector">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.gradeDirector" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="violateType"> <el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入"></el-input> <el-input v-model="form.violateType" placeholder="输入"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="违纪次数" prop="violateNum"> <el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
...@@ -498,6 +508,22 @@ ...@@ -498,6 +508,22 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- <el-form-item label="违纪行为" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item> -->
<el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入" type="textarea"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="处分结果" prop="punishResult"> <el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
...@@ -507,9 +533,7 @@ ...@@ -507,9 +533,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8">
<el-row>
<el-col :span="24">
<el-form-item label="处分时间" prop="punishTime"> <el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd" <el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" clearable :style="{ width: '100%' }"> placeholder="请选择" clearable :style="{ width: '100%' }">
...@@ -518,6 +542,9 @@ ...@@ -518,6 +542,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" <el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
...@@ -628,26 +655,48 @@ ...@@ -628,26 +655,48 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班主任" prop="classTeacherId"> <el-form-item label="班主任" prop="classTeacher">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }"> <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" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="gradeDirectorId"> <el-form-item label="级部主任" prop="gradeDirector">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }"> <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" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="violateType"> <el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入"></el-input> <el-input v-model="form.violateType" placeholder="输入"></el-input>
</el-form-item> </el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="违纪次数" prop="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<!-- <el-form-item label="违纪行为" prop="violateType">
<el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item> -->
<el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入" type="textarea"></el-input>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -658,7 +707,6 @@ ...@@ -658,7 +707,6 @@
:value="dict.value" /> :value="dict.value" />
</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="punishResult"> <el-form-item label="处分结果" prop="punishResult">
...@@ -667,11 +715,8 @@ ...@@ -667,11 +715,8 @@
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8">
<el-row>
<el-col :span="24">
<el-form-item label="处分时间" prop="punishTime"> <el-form-item label="处分时间" prop="punishTime">
<el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd" <el-date-picker v-model="form.punishTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择" clearable :style="{ width: '100%' }"> placeholder="请选择" clearable :style="{ width: '100%' }">
...@@ -680,6 +725,8 @@ ...@@ -680,6 +725,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
</el-row>
<el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入" clearable type="textarea" <el-input v-model="form.remark" placeholder="请输入" clearable type="textarea"
...@@ -687,7 +734,6 @@ ...@@ -687,7 +734,6 @@
</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 @click="handleAgree" type="primary" size="small">同意</el-button> <el-button @click="handleAgree" type="primary" size="small">同意</el-button>
...@@ -823,17 +869,20 @@ export default { ...@@ -823,17 +869,20 @@ export default {
gradeName: [ gradeName: [
{ required: true, message: "年级不能为空", trigger: "change" } { required: true, message: "年级不能为空", trigger: "change" }
], ],
gradeName: [ className: [
{ required: true, message: "班级不能为空", trigger: "change" } { required: true, message: "班级不能为空", trigger: "change" }
], ],
classType: [
{ required: true, message: "班级类型不能为空", trigger: "change" }
],
name: [ name: [
{ required: true, message: "姓名不能为空", trigger: "change" } { required: true, message: "姓名不能为空", trigger: "change" }
], ],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }], idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
classTeacherId: [ classTeacher: [
{ required: true, message: "班主任不能为空", trigger: "change" } { required: true, message: "班主任不能为空", trigger: "change" }
], ],
gradeDirectorId: [ gradeDirector: [
{ required: true, message: "级部主任不能为空", trigger: "change" } { required: true, message: "级部主任不能为空", trigger: "change" }
], ],
violateNum: [ violateNum: [
...@@ -1106,19 +1155,18 @@ export default { ...@@ -1106,19 +1155,18 @@ export default {
}, },
//确定按钮 //确定按钮
submitForm: function () { submitForm: function () {
// const classTeacherId = this.form.classTeacherId;
// console.log(classTeacherId, 'classTeacherId');
// this.form.classTeacher = classTeacherId == '' ? '' : this.deptOptions.find(item => item.userId == classTeacherId).userName
// console.log(this.form.classTeacher, ' this.form.classTeacher ');
// const gradeDirectorId = this.form.gradeDirectorId;
// console.log(gradeDirectorId, 'const gradeDirectorId ');
// this.form.gradeDirector = gradeDirectorId == '' ? '' : this.deptOptions.find(item => item.userId == gradeDirectorId).userName
// console.log(this.form.gradeDirectorId, ' this.form.gradeDirectorId ');
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
// const schoolAccessoryList = this.schoolAccessoryList.map(item => ({
// accessoryUrl: item.accessoryUrl,
// accessoryName: item.accessoryName
// }));
// if (schoolAccessoryList.length === 0) {
// console.log("schoolAccessoryList is empty");
// return;
// }
// console.log(schoolAccessoryList, '修改1')
const params = { const params = {
id: this.form.id, id: this.form.id,
schoolYear: this.form.schoolYear, schoolYear: this.form.schoolYear,
...@@ -1130,8 +1178,8 @@ export default { ...@@ -1130,8 +1178,8 @@ export default {
name: this.form.name, name: this.form.name,
sex: this.form.sex, sex: this.form.sex,
idCard: this.form.idCard, idCard: this.form.idCard,
classTeacherId: this.form.classTeacherId, classTeacher: this.form.classTeacher,
gradeDirectorId: this.form.gradeDirectorId, gradeDirector: this.form.gradeDirector,
violateType: this.form.violateType, violateType: this.form.violateType,
violateNum: this.form.violateNum, violateNum: this.form.violateNum,
punishResult: this.form.punishResult, punishResult: this.form.punishResult,
...@@ -1163,8 +1211,8 @@ export default { ...@@ -1163,8 +1211,8 @@ export default {
name: this.form.name, name: this.form.name,
sex: this.form.sex, sex: this.form.sex,
idCard: this.form.idCard, idCard: this.form.idCard,
classTeacherId: this.form.classTeacherId, classTeacher: this.form.classTeacher,
gradeDirectorId: this.form.gradeDirectorId, gradeDirector: this.form.gradeDirector,
violateType: this.form.violateType, violateType: this.form.violateType,
violateNum: this.form.violateNum, violateNum: this.form.violateNum,
punishResult: this.form.punishResult, punishResult: this.form.punishResult,
...@@ -1248,7 +1296,7 @@ export default { ...@@ -1248,7 +1296,7 @@ export default {
} }
</script> </script>
<style scoped lang="scss" > <style scoped lang="scss">
.mask { .mask {
position: fixed; position: fixed;
top: 0; top: 0;
......
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="班级" prop="className"> <el-form-item label="班级" prop="className">
<el-input v-model="queryForm.className" placeholder="请输入" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryForm.className" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="班级类型"> <el-form-item label="班级类型">
<el-select v-model="queryForm.classType" clearable placeholder="请选择" style="width: 100%"> <el-select v-model="queryForm.classType" clearable placeholder="请选择" style="width: 100%">
...@@ -53,10 +54,11 @@ ...@@ -53,10 +54,11 @@
<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-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" filterable> <el-input v-model="queryForm.classTeacher" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="queryForm.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></el-option>
</el-select> </el-select> -->
</el-form-item> </el-form-item>
<el-form-item label="违纪行为"> <el-form-item label="违纪行为">
<el-input v-model="queryForm.violateType" placeholder="输入"></el-input> <el-input v-model="queryForm.violateType" placeholder="输入"></el-input>
...@@ -131,8 +133,10 @@ ...@@ -131,8 +133,10 @@
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" show-overflow-tooltip /> <el-table-column align="center" prop="idCard" sortable label="身份证号" width="180" show-overflow-tooltip />
<el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100" show-overflow-tooltip /> <el-table-column align="center" prop="classTeacher" sortable label="班主任" width="100"
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100" show-overflow-tooltip /> show-overflow-tooltip />
<el-table-column align="center" prop="gradeDirector" sortable label="级部主任" width="100"
show-overflow-tooltip />
<el-table-column align="center" prop="violateType" sortable label="违纪行为" width="120" show-overflow-tooltip> <el-table-column align="center" prop="violateType" sortable label="违纪行为" width="120" show-overflow-tooltip>
<!-- <template slot-scope="{ row }"> <!-- <template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div> <div>{{ selectDictLabel(dict.type.violate_type, row.violateType) }}</div>
...@@ -188,8 +192,8 @@ ...@@ -188,8 +192,8 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="学期" prop="semester"> <el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;"> <el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value"
:value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -259,39 +263,56 @@ ...@@ -259,39 +263,56 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班主任" prop="classTeacherId"> <el-form-item label="班主任" prop="classTeacher">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.classTeacher" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="gradeDirectorId"> <el-form-item label="级部主任" prop="gradeDirector">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.gradeDirector" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="违纪行为"> <el-form-item label="违纪次数" prop="violateNum">
<el-input v-model="queryForm.violateType" placeholder="输入"></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-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入"></el-input>
</el-form-item>
</el-col> -->
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="24">
<el-form-item label="违纪次数" prop="violateNum"> <!-- <el-form-item label="违纪行为" prop="violateType">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> -->
<el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入" type="textarea"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="处分结果" prop="punishResult"> <el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
...@@ -319,8 +340,9 @@ ...@@ -319,8 +340,9 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="附件" :rules="[{ required: true, message: '请上传附件' }]"> <el-form-item label="附件" prop="schoolAccessoryList">
<FilepersonUploadNew @input="getFileList" :value="fileList"></FilepersonUploadNew> <fileUploadn @input="getFileList" :value="fileList">
</fileUploadn>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -345,8 +367,8 @@ ...@@ -345,8 +367,8 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="学期" prop="semester"> <el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;"> <el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value"
:value="dict.value"> :label="dict.label" :value="dict.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -416,39 +438,55 @@ ...@@ -416,39 +438,55 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="班主任" prop="classTeacherId"> <el-form-item label="班主任" prop="classTeacher">
<el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.classTeacher" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.classTeacherId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="gradeDirectorId"> <el-form-item label="级部主任" prop="gradeDirector">
<el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }" <el-input v-model="form.gradeDirector" placeholder="请输入" clearable></el-input>
<!-- <el-select v-model="form.gradeDirectorId" placeholder="请选择" :style="{ width: '100%' }"
filterable> filterable>
<el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName" <el-option v-for="item in deptOptions" :key="item.userId" :label="item.userName"
:value="item.userId"></el-option> :value="item.userId"></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="violateNum">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="违纪行为"> <el-form-item label="违纪行为">
<el-input v-model="form.violateType" placeholder="输入"></el-input> <el-input v-model="form.violateType" placeholder="输入"></el-input>
</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="24">
<el-form-item label="违纪次数" prop="violateNum"> <!-- <el-form-item label="违纪行为" prop="violateType">
<el-select v-model="form.violateNum" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.violateType" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.violate_num" :key="dict.value" :label="dict.label" <el-option v-for="dict in dict.type.violate_type" :key="dict.value" :label="dict.label"
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> -->
<el-form-item label="违纪行为" prop="violateType">
<el-input v-model="form.violateType" placeholder="输入" type="textarea"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="处分结果" prop="punishResult"> <el-form-item label="处分结果" prop="punishResult">
<el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;"> <el-select v-model="form.punishResult" placeholder="请选择" clearable style="width: 100%;">
...@@ -483,6 +521,7 @@ ...@@ -483,6 +521,7 @@
</li> </li>
</el-form-item> </el-form-item>
</el-col> </el-col>
</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 @click="cancelDialog">取 消</el-button> <el-button @click="cancelDialog">取 消</el-button>
...@@ -494,7 +533,8 @@ ...@@ -494,7 +533,8 @@
<el-form-item prop="dataUrl"> <el-form-item prop="dataUrl">
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag> :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false"
drag>
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text"> <div class="el-upload__text">
将文件拖到此处,或<em>点击上传</em> 将文件拖到此处,或<em>点击上传</em>
...@@ -540,12 +580,12 @@ import { ...@@ -540,12 +580,12 @@ import {
getTeacher,//获取教师 getTeacher,//获取教师
} from '@/api/smartSchool/awardsDisciplinary/studentViolation/disciplinaryManagemen' } from '@/api/smartSchool/awardsDisciplinary/studentViolation/disciplinaryManagemen'
import { checkIdcard } from '@/utils/utilLibrary/validate' import { checkIdcard } from '@/utils/utilLibrary/validate'
import FilepersonUploadNew from "@/components/FilepersonUploadNew"; import fileUploadn from "@/components/FilepersonUploadNew";
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
export default { export default {
name: 'index', name: 'index',
components: { components: {
FilepersonUploadNew, fileUploadn,
}, },
dicts: ['violate_type', 'violate_num', 'punish_result', 'sys_user_sex', 'semester', 'audit_state', 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type_wj', 'yearda', 'rankwj', 'appointment_situation', 'appointment_positions', 'class_num', 'audit_states'], dicts: ['violate_type', 'violate_num', 'punish_result', 'sys_user_sex', 'semester', 'audit_state', 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type_wj', 'yearda', 'rankwj', 'appointment_situation', 'appointment_positions', 'class_num', 'audit_states'],
data() { data() {
...@@ -649,14 +689,17 @@ export default { ...@@ -649,14 +689,17 @@ export default {
className: [ className: [
{ required: true, message: "班级不能为空", trigger: "change" } { required: true, message: "班级不能为空", trigger: "change" }
], ],
classType: [
{ required: true, message: "班级类型不能为空", trigger: "change" }
],
name: [ name: [
{ required: true, message: "姓名不能为空", trigger: "change" } { required: true, message: "姓名不能为空", trigger: "change" }
], ],
idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }], idCard: [{ required: true, validator: checkIdcard, trigger: 'blur' }],
classTeacherId: [ classTeacher: [
{ required: true, message: "班主任不能为空", trigger: "change" } { required: true, message: "班主任不能为空", trigger: "change" }
], ],
gradeDirectorId: [ gradeDirector: [
{ required: true, message: "级部主任不能为空", trigger: "change" } { required: true, message: "级部主任不能为空", trigger: "change" }
], ],
violateNum: [ violateNum: [
...@@ -779,6 +822,13 @@ export default { ...@@ -779,6 +822,13 @@ 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.fileList = response.data.schoolAccessoryList.map(item => {
return {
name: item.accessoryName,
url: item.accessoryUrl,
}
})
this.schoolAccessoryList = response.data.schoolAccessoryList;
// this.form.gradeName = response.data.gradeName; // this.form.gradeName = response.data.gradeName;
// const params = { gradeName: this.form.gradeName }; // const params = { gradeName: this.form.gradeName };
// getClassList(params).then(response => { // getClassList(params).then(response => {
...@@ -821,8 +871,8 @@ export default { ...@@ -821,8 +871,8 @@ export default {
remark: "", remark: "",
}, },
this.fileList = [];
this.resetForm('form') this.resetForm('form')
}, },
//审核 //审核
handleExamine(row) { handleExamine(row) {
...@@ -885,8 +935,31 @@ export default { ...@@ -885,8 +935,31 @@ export default {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateDiscipline(this.form).then(({ code }) => { const params = {
console.log(this.form, 'this.form'); id: this.form.id,
schoolYear: this.form.schoolYear,
semester: this.form.semester,
gradeYear: this.form.gradeYear,
gradeName: this.form.gradeName,
className: this.form.className,
classType: this.form.classType,
name: this.form.name,
sex: this.form.sex,
idCard: this.form.idCard,
classTeacher: this.form.classTeacher,
gradeDirector: this.form.gradeDirector,
violateType: this.form.violateType,
violateNum: this.form.violateNum,
punishResult: this.form.punishResult,
punishTime: this.form.punishTime,
remark: this.form.remark,
schoolAccessoryList: this.schoolAccessoryList.map(item => ({
accessoryUrl: item.accessoryUrl,
accessoryName: item.accessoryName
}))
}
updateDiscipline(params).then(({ code }) => {
console.log(params, 'params');
if (code == 200) { if (code == 200) {
this.$modal.msgSuccess('修改成功') this.$modal.msgSuccess('修改成功')
this.dialogTableVisible = false this.dialogTableVisible = false
...@@ -896,8 +969,31 @@ export default { ...@@ -896,8 +969,31 @@ export default {
this.$modal.msgError("修改失败"); this.$modal.msgError("修改失败");
}); });
} else { } else {
addDisciplinegr(this.form).then(response => { const params = {
console.log(this.form, 'this.form'); id: this.form.id,
schoolYear: this.form.schoolYear,
semester: this.form.semester,
gradeYear: this.form.gradeYear,
gradeName: this.form.gradeName,
className: this.form.className,
classType: this.form.classType,
name: this.form.name,
sex: this.form.sex,
idCard: this.form.idCard,
classTeacher: this.form.classTeacher,
gradeDirector: this.form.gradeDirector,
violateType: this.form.violateType,
violateNum: this.form.violateNum,
punishResult: this.form.punishResult,
punishTime: this.form.punishTime,
remark: this.form.remark,
schoolAccessoryList: this.schoolAccessoryList.map(item => ({
accessoryUrl: item.accessoryUrl,
accessoryName: item.accessoryName
}))
}
addDisciplinegr(params).then(response => {
console.log(params, 'params');
this.$modal.msgSuccess('新增成功') this.$modal.msgSuccess('新增成功')
this.dialogTableVisible = false this.dialogTableVisible = false
this.getList() this.getList()
...@@ -974,7 +1070,7 @@ export default { ...@@ -974,7 +1070,7 @@ export default {
} }
</script> </script>
<style scoped lang="scss" > <style scoped lang="scss">
.mask { .mask {
position: fixed; position: fixed;
top: 0; top: 0;
......
<template>
<div class="app-container">
<el-dialog title="查询" :visible.sync="query" width="50%" append-to-body>
<el-form ref="queryParams" :model="queryParams" label-width="96px" class="search">
<el-row>
<el-col :span="12">
<el-form-item label="姓名" prop="teacherName">
<el-input v-model="queryParams.teacherName" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="queryParams.schoolYear" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="届别" prop="year">
<el-select v-model="queryParams.year" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item></el-col>
<el-col :span="12">
<el-form-item label="学期" prop="semester">
<el-select v-model="queryParams.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="年级" prop="grade">
<el-select v-model="queryParams.grade" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.grade_da" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="queryParams.sub" clearable placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="queryParams.classType" clearable placeholder="请选择" style="width: 100%">
<el-option v-for="dict in dict.type.class_type" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班级" prop="className">
<el-input v-model="queryParams.className" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="德育考核成绩" prop="moralEduCheckAchievement">
<el-input v-model="queryParams.moralEduCheckAchievement" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="智育考核成绩" prop="intellEduCheckAchievement">
<el-input v-model="queryParams.intellEduCheckAchievement" placeholder="请输入" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
</el-row>
<el-form-item class="dialog-footer" style="display: flex; justify-content: center; align-items: center">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</el-dialog>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-search" size="mini" @click="handleQuerycx">查询</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="assessmentList" @selection-change="handleSelectionChange"
:default-sort="{ prop: 'schoolYear', order: 'descending' }" :row-style="{ height: '1px' }"
:cell-style="{ padding: '0px' }" :header-cell-style="{ height: '50px', fontSize: '12px', padding: '0 0' }">
<el-table-column type="selection" width="30" align="center" />
<el-table-column type="index" label="序号" width="30" align="center" sortable fixed="left"
show-overflow-tooltip />
<el-table-column label="学年" align="center" prop="schoolYear" sortable fixed="left" width="80px
" show-overflow-tooltip />
<el-table-column label="学期" align="center" prop="semester" sortable fixed="left" width="80px"
show-overflow-tooltip>
<template slot-scope="scope">
<dict-tag :options="dict.type.semester_jsdzda" :value="scope.row.semester" />
</template>
</el-table-column>
<el-table-column label="届别" align="center" prop="year" sortable show-overflow-tooltip width="70px" />
<el-table-column label="年级" align="center" prop="grade" sortable show-overflow-tooltip width="60px">
<template slot-scope="scope">
<dict-tag :options="dict.type.grade_da" :value="scope.row.grade" />
</template>
</el-table-column>
<el-table-column label="班级" align="center" prop="className" sortable show-overflow-tooltip width="70px" />
<el-table-column label="班级类型" align="center" prop="classType" sortable width="90px" show-overflow-tooltip>
<template slot-scope="scope">
<span v-if="getSelectedTypes(scope.row.classType).length > 0">
<span v-for="(option, index) in getSelectedTypes(scope.row.classType)" :key="index">
{{ option.label }}
<span v-if="index !== getSelectedTypes(scope.row.classType).length - 1">, </span>
</span>
</span>
</template>
</el-table-column>
<el-table-column label="姓名" align="center" prop="teacherName" sortable show-overflow-tooltip width="90px" />
<el-table-column label="学科" align="center" prop="sub" sortable show-overflow-tooltip width="80px">
<template slot-scope="scope">
<dict-tag :options="dict.type.teaching_subjects" :value="scope.row.sub" />
</template>
</el-table-column>
<el-table-column label="德育考核成绩" align="center" prop="moralEduCheckAchievement" sortable width="110px"
show-overflow-tooltip />
<el-table-column label="智育考核成绩" align="center" prop="intellEduCheckAchievement" sortable width="110px"
show-overflow-tooltip />
<el-table-column label="考核结果" align="center" prop="assessmentResults" sortable width="130px">
<template slot-scope="scope">
<dict-tag :options="dict.type.assessment_results" :value="scope.row.assessmentResults" />
</template>
</el-table-column>
<!-- <el-table-column label="总考核成绩" align="center" prop="totalCheckAchievement" sortable fixed="right"
width="130px" /> -->
<el-table-column label="备注" align="center" prop="remark" sortable show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150px">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:assessment:edit']">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加或修改班主任考核对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.semester_jsdzda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="届别" prop="year">
<el-select v-model="form.year" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.rankda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="学年" prop="schoolYear">
<el-select v-model="form.schoolYear" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.yearda" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年级" prop="grade">
<el-select v-model="form.grade" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.grade_da" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="班级" prop="className">
<el-select v-model="form.className" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.class_num" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="教师姓名" prop="teacherName">
<el-input v-model="form.teacherName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="身份证号" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="德育考核成绩" prop="moralEduCheckAchievement">
<el-input v-model="form.moralEduCheckAchievement" type="number" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="智育考核成绩" prop="intellEduCheckAchievement">
<el-input v-model="form.intellEduCheckAchievement" type="number" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="考核结果" prop="assessmentResults">
<el-select v-model="form.assessmentResults" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.assessment_results" :key="dict.value"
:label="dict.label" :value="dict.value">
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="总考核成绩" prop="totalCheckAchievement">
<el-input v-model="form.totalCheckAchievement" type="number" placeholder="请输入" clearable />
</el-form-item> -->
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="班级类型" prop="classType">
<el-select v-model="form.classType" placeholder="请选择" clearable style="width: 100%">
<el-option v-for="dict in dict.type.class_type" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学科" prop="sub">
<el-select v-model="form.sub" placeholder="请选择" clearable style="width: 100%">
<el-option v-for="dict in dict.type.teaching_subjects" :key="dict.value" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listAssessmentall, getAssessment, delAssessment, addAssessment, updateAssessment } from "@/api/smartSchool/electronicArchives/teacherAssessment";
import { getToken } from "@/utils/auth";
export default {
name: "Assessment",
dicts: ["teaching_subjects", 'semester_jsdzda', 'exam_typeda', 'grade_da', 'class_type', 'yearda', 'rankda', 'appointment_situation', 'appointment_positions', 'class_num', 'audit_states', 'assessment_results'],
data() {
return {
importing: false,
uploadOpen: false,
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url:
process.env.VUE_APP_BASE_API + "/assessment/importData",
},
uploadForm: {},
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 班主任考核表格数据
assessmentList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
query: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
semester: null,
year: null,
schoolYear: null,
grade: null,
className: null,
teacherName: null,
idCard: null,
moralEduCheckAchievement: null,
intellEduCheckAchievement: null,
totalCheckAchievement: null,
classType: null,
sub: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
semester: [
{ required: true, message: "学期不能为空", trigger: "change" }
],
year: [
{ required: true, message: "届别不能为空", trigger: "change" }
],
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "change" }
],
grade: [
{ required: true, message: "年级不能为空", trigger: "change" }
],
className: [
{ required: true, message: "班级不能为空", trigger: "blur" }
],
teacherName: [
{ required: true, message: "姓名不能为空", trigger: "blur" }
],
idCard: [
{ required: true, message: "身份证号不能为空", trigger: "blur" }
],
moralEduCheckAchievement: [
{ required: true, message: "德育考核成绩不能为空", trigger: "blur" }
],
intellEduCheckAchievement: [
{ required: true, message: "智育考核成绩不能为空", trigger: "blur" }
],
totalCheckAchievement: [
{ required: true, message: "总成绩考核不能为空", trigger: "blur" }
],
classType: [
{ required: true, message: "班级类型不能为空", trigger: "blur" }
],
sub: [
{ required: true, message: "学科不能为空", trigger: "blur" }
],
assessmentResults: [
{ required: true, message: "考核结果不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询班主任考核列表 */
getList() {
this.loading = true;
listAssessmentall(this.queryParams).then(response => {
this.assessmentList = response.rows;
this.total = response.total;
this.loading = false;
});
},
getSelectedTypes(classType) {
return this.dict.type.class_type.filter(option => classType.split(',').includes(option.value.toString()));
},
/** 搜索按钮操作 */
handleQuerycx() {
this.query = true;
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
handleImport() {
this.reset();
this.title = "导入";
this.uploadOpen = true;
},
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
this.importing = true;
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit();
},
cancelFile() {
this.uploadOpen = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.uploadOpen = false;
this.upload.isUploading = false;
this.importing = false;
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getList();
},
//下载模版
importTemplate() {
this.download(
"/assessment/download",
{},
`班主任考核_${Date.now()}.xlsx`
);
},
// 表单重置
reset() {
this.form = {
id: null,
semester: null,
year: null,
schoolYear: null,
grade: null,
className: null,
teacherName: null,
idCard: null,
moralEduCheckAchievement: null,
intellEduCheckAchievement: null,
totalCheckAchievement: null,
classType: null,
sub: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
delFlag: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.query = false;
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryParams");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加班主任考核";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getAssessment(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改班主任考核";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateAssessment({ ...this.form }).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAssessment({ ...this.form }).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除班主任考核编号为"' + ids + '"的数据项?').then(function () {
return delAssessment(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
this.download('/assessment/export', {
...this.queryParams
}, `班主任考核_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<style lang="less" scoped>
::v-deep .el-form-item {
margin-bottom: 0px;
}
::v-deep .el-input--medium .el-input__inner {
height: 26px;
line-height: 26px;
}
::v-deep .el-dialog__body {
padding: 10px 20px
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 4vh !important;
}
.search ::v-deep .el-form-item__content {
width: 200px
}
.mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
}
.mask-content {
display: flex;
align-items: center;
justify-content: center;
color: #1a74be;
font-size: 15px;
}
::v-deep .el-table .el-table__cell {
padding: 0;
}
::v-deep .el-table .cell {
padding: 0;
}
::v-deep .el-table th.el-table__cell>.cell {
padding: 0;
}
</style>
\ No newline at end of file
...@@ -72,7 +72,6 @@ ...@@ -72,7 +72,6 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否政府采购" prop="isGov" align="center"> <el-table-column label="是否政府采购" prop="isGov" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.isGov === '0' ? '是' : '否' }} {{ scope.row.isGov === '0' ? '是' : '否' }}
...@@ -346,7 +345,6 @@ export default { ...@@ -346,7 +345,6 @@ export default {
handleLandClick(rowData) { handleLandClick(rowData) {
// 构建目标页面 URL,假设为 /detail,同时传递 rowData 中的必要参数 // 构建目标页面 URL,假设为 /detail,同时传递 rowData 中的必要参数
const detailUrl = '/detail?id=' + rowData.id; // 假设传递 id 参数 const detailUrl = '/detail?id=' + rowData.id; // 假设传递 id 参数
// 使用页面跳转方法,例如 Vue Router // 使用页面跳转方法,例如 Vue Router
this.$router.push(detailUrl); this.$router.push(detailUrl);
}, },
......
...@@ -21,18 +21,18 @@ export default { ...@@ -21,18 +21,18 @@ export default {
}, },
created() { created() {
// 钉钉code码,正式时打开 // 钉钉code码,正式时打开
// this.getCode() this.getCode()
// token,测试用 // token,测试用
this.csToken() // this.csToken()
}, },
methods: { methods: {
// 获取code // 获取code
getCode() { getCode() {
dd.getAuthCode({ dd.getAuthCode({
//测试 //测试
corpId: 'dingaa3937ff8b7dd267f2c783f7214b6d69', //corpId: 'dingaa3937ff8b7dd267f2c783f7214b6d69',
//正式 //正式
// corpId: 'dingccea40788226c988f2c783f7214b6d69', corpId: 'dingccea40788226c988f2c783f7214b6d69',
success: (res) => { success: (res) => {
console.log('获取新的免登码成功', res); console.log('获取新的免登码成功', res);
const code = res.code const code = res.code
......
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