├── src ├── main │ ├── resources │ │ ├── static │ │ │ ├── element-ui │ │ │ │ ├── lib │ │ │ │ │ ├── theme-chalk │ │ │ │ │ │ ├── form-item.css │ │ │ │ │ │ ├── menu-item.css │ │ │ │ │ │ ├── submenu.css │ │ │ │ │ │ ├── tab-pane.css │ │ │ │ │ │ ├── breadcrumb-item.css │ │ │ │ │ │ ├── button-group.css │ │ │ │ │ │ ├── checkbox-button.css │ │ │ │ │ │ ├── checkbox-group.css │ │ │ │ │ │ ├── collapse-item.css │ │ │ │ │ │ ├── dropdown-item.css │ │ │ │ │ │ ├── dropdown-menu.css │ │ │ │ │ │ ├── infinite-scroll.css │ │ │ │ │ │ ├── infiniteScroll.css │ │ │ │ │ │ ├── menu-item-group.css │ │ │ │ │ │ ├── radio-group.css │ │ │ │ │ │ ├── aside.css │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ ├── timeline.css │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ ├── element-icons.ttf │ │ │ │ │ │ │ └── element-icons.woff │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ ├── popconfirm.css │ │ │ │ │ │ ├── steps.css │ │ │ │ │ │ ├── container.css │ │ │ │ │ │ ├── backtop.css │ │ │ │ │ │ ├── card.css │ │ │ │ │ │ ├── option-group.css │ │ │ │ │ │ ├── option.css │ │ │ │ │ │ ├── avatar.css │ │ │ │ │ │ ├── rate.css │ │ │ │ │ │ ├── page-header.css │ │ │ │ │ │ ├── divider.css │ │ │ │ │ │ ├── reset.css │ │ │ │ │ │ ├── badge.css │ │ │ │ │ │ ├── row.css │ │ │ │ │ │ ├── spinner.css │ │ │ │ │ │ ├── display.css │ │ │ │ │ │ ├── breadcrumb.css │ │ │ │ │ │ ├── carousel-item.css │ │ │ │ │ │ └── scrollbar.css │ │ │ │ │ ├── mixins │ │ │ │ │ │ ├── focus.js │ │ │ │ │ │ ├── locale.js │ │ │ │ │ │ └── emitter.js │ │ │ │ │ ├── utils │ │ │ │ │ │ ├── shared.js │ │ │ │ │ │ ├── merge.js │ │ │ │ │ │ ├── vdom.js │ │ │ │ │ │ ├── menu │ │ │ │ │ │ │ └── aria-menubar.js │ │ │ │ │ │ ├── types.js │ │ │ │ │ │ ├── scrollbar-width.js │ │ │ │ │ │ ├── scroll-into-view.js │ │ │ │ │ │ └── after-leave.js │ │ │ │ │ └── directives │ │ │ │ │ │ ├── repeat-click.js │ │ │ │ │ │ └── mousewheel.js │ │ │ │ ├── packages │ │ │ │ │ ├── theme-chalk │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── submenu.css │ │ │ │ │ │ │ ├── button-group.css │ │ │ │ │ │ │ ├── form-item.css │ │ │ │ │ │ │ ├── menu-item.css │ │ │ │ │ │ │ ├── tab-pane.css │ │ │ │ │ │ │ ├── breadcrumb-item.css │ │ │ │ │ │ │ ├── checkbox-button.css │ │ │ │ │ │ │ ├── checkbox-group.css │ │ │ │ │ │ │ ├── collapse-item.css │ │ │ │ │ │ │ ├── dropdown-item.css │ │ │ │ │ │ │ ├── dropdown-menu.css │ │ │ │ │ │ │ ├── infinite-scroll.css │ │ │ │ │ │ │ ├── infiniteScroll.css │ │ │ │ │ │ │ ├── menu-item-group.css │ │ │ │ │ │ │ ├── radio-group.css │ │ │ │ │ │ │ ├── aside.css │ │ │ │ │ │ │ ├── footer.css │ │ │ │ │ │ │ ├── header.css │ │ │ │ │ │ │ ├── timeline.css │ │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ │ ├── element-icons.ttf │ │ │ │ │ │ │ │ └── element-icons.woff │ │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ │ ├── popconfirm.css │ │ │ │ │ │ │ ├── steps.css │ │ │ │ │ │ │ ├── container.css │ │ │ │ │ │ │ ├── backtop.css │ │ │ │ │ │ │ ├── card.css │ │ │ │ │ │ │ ├── option-group.css │ │ │ │ │ │ │ ├── option.css │ │ │ │ │ │ │ ├── avatar.css │ │ │ │ │ │ │ ├── rate.css │ │ │ │ │ │ │ ├── page-header.css │ │ │ │ │ │ │ ├── divider.css │ │ │ │ │ │ │ ├── reset.css │ │ │ │ │ │ │ ├── badge.css │ │ │ │ │ │ │ ├── row.css │ │ │ │ │ │ │ ├── spinner.css │ │ │ │ │ │ │ ├── display.css │ │ │ │ │ │ │ ├── breadcrumb.css │ │ │ │ │ │ │ ├── carousel-item.css │ │ │ │ │ │ │ └── scrollbar.css │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── form-item.scss │ │ │ │ │ │ │ ├── menu-item.scss │ │ │ │ │ │ │ ├── submenu.scss │ │ │ │ │ │ │ ├── tab-pane.scss │ │ │ │ │ │ │ ├── breadcrumb-item.scss │ │ │ │ │ │ │ ├── button-group.scss │ │ │ │ │ │ │ ├── checkbox-button.scss │ │ │ │ │ │ │ ├── checkbox-group.scss │ │ │ │ │ │ │ ├── collapse-item.scss │ │ │ │ │ │ │ ├── dropdown-item.scss │ │ │ │ │ │ │ ├── dropdown-menu.scss │ │ │ │ │ │ │ ├── infinite-scroll.scss │ │ │ │ │ │ │ ├── infiniteScroll.scss │ │ │ │ │ │ │ ├── menu-item-group.scss │ │ │ │ │ │ │ ├── base.scss │ │ │ │ │ │ │ ├── mixins │ │ │ │ │ │ │ ├── config.scss │ │ │ │ │ │ │ ├── utils.scss │ │ │ │ │ │ │ └── function.scss │ │ │ │ │ │ │ ├── aside.scss │ │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ ├── element-icons.ttf │ │ │ │ │ │ │ └── element-icons.woff │ │ │ │ │ │ │ ├── footer.scss │ │ │ │ │ │ │ ├── header.scss │ │ │ │ │ │ │ ├── radio-group.scss │ │ │ │ │ │ │ ├── container.scss │ │ │ │ │ │ │ ├── timeline.scss │ │ │ │ │ │ │ ├── display.scss │ │ │ │ │ │ │ ├── time-picker.scss │ │ │ │ │ │ │ ├── main.scss │ │ │ │ │ │ │ ├── popconfirm.scss │ │ │ │ │ │ │ ├── steps.scss │ │ │ │ │ │ │ ├── date-picker.scss │ │ │ │ │ │ │ ├── backtop.scss │ │ │ │ │ │ │ ├── date-picker │ │ │ │ │ │ │ ├── time-range-picker.scss │ │ │ │ │ │ │ └── year-table.scss │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ └── popup.scss │ │ │ │ │ │ │ ├── card.scss │ │ │ │ │ │ │ ├── time-select.scss │ │ │ │ │ │ │ ├── spinner.scss │ │ │ │ │ │ │ ├── row.scss │ │ │ │ │ │ │ ├── page-header.scss │ │ │ │ │ │ │ ├── option-group.scss │ │ │ │ │ │ │ ├── option.scss │ │ │ │ │ │ │ ├── popover.scss │ │ │ │ │ │ │ ├── rate.scss │ │ │ │ │ │ │ ├── divider.scss │ │ │ │ │ │ │ └── carousel-item.scss │ │ │ │ │ ├── message │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── message-box │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── notification │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── card │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── link │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── main │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── rate │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── tag │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── alert │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── aside │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── badge │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── image │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── radio │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── row │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── row.js │ │ │ │ │ ├── step │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── steps │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── tree │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── model │ │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── upload │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── avatar │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── drawer │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── footer │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── form │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── header │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── menu │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── menu-item-group.vue │ │ │ │ │ │ │ └── menu-mixin.js │ │ │ │ │ ├── slider │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── marker.js │ │ │ │ │ ├── tabs │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── backtop │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── col │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── divider │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── icon │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── icon.vue │ │ │ │ │ ├── input │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── select │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── table │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── dropdown.js │ │ │ │ │ │ │ └── store │ │ │ │ │ │ │ └── helper.js │ │ │ │ │ ├── tooltip │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── spinner │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── spinner.vue │ │ │ │ │ ├── button │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── button-group.vue │ │ │ │ │ ├── calendar │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── carousel │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── cascader │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── dialog │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── timeline │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── transfer │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── container │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── option │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── scrollbar │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── util.js │ │ │ │ │ ├── switch │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── tab-pane │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── checkbox │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── checkbox-group.vue │ │ │ │ │ ├── dropdown │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── dropdown-item.vue │ │ │ │ │ ├── page-header │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── main.vue │ │ │ │ │ ├── popconfirm │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── progress │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── submenu │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── color-picker │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── draggable.js │ │ │ │ │ ├── pagination │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── form-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── menu-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── breadcrumb │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── breadcrumb.vue │ │ │ │ │ │ │ └── breadcrumb-item.vue │ │ │ │ │ ├── collapse │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── radio-group │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── date-picker │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── picker │ │ │ │ │ │ │ ├── time-select.js │ │ │ │ │ │ │ ├── time-picker.js │ │ │ │ │ │ │ └── date-picker.js │ │ │ │ │ ├── input-number │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── radio-button │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── autocomplete │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── cascader-panel │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── infinite-scroll │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── table-column │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── time-picker │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── time-select │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── button-group │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── carousel-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── option-group │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── timeline-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── dropdown-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── dropdown-menu │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── collapse-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── loading │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ │ └── loading.vue │ │ │ │ │ ├── menu-item-group │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── checkbox-group │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── breadcrumb-item │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── checkbox-button │ │ │ │ │ │ └── index.js │ │ │ │ │ └── popover │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── src │ │ │ │ │ │ └── directive.js │ │ │ │ ├── types │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── main.d.ts │ │ │ │ │ ├── button-group.d.ts │ │ │ │ │ ├── dropdown-menu.d.ts │ │ │ │ │ ├── infinite-scroll.d.ts │ │ │ │ │ ├── timeline.d.ts │ │ │ │ │ ├── icon.d.ts │ │ │ │ │ ├── aside.d.ts │ │ │ │ │ ├── footer.d.ts │ │ │ │ │ ├── header.d.ts │ │ │ │ │ ├── menu-item-group.d.ts │ │ │ │ │ ├── container.d.ts │ │ │ │ │ ├── page-header.d.ts │ │ │ │ │ ├── menu-item.d.ts │ │ │ │ │ ├── option-group.d.ts │ │ │ │ │ ├── carousel-item.d.ts │ │ │ │ │ ├── collapse.d.ts │ │ │ │ │ ├── breadcrumb.d.ts │ │ │ │ │ ├── breadcrumb-item.d.ts │ │ │ │ │ ├── option.d.ts │ │ │ │ │ ├── avatar.d.ts │ │ │ │ │ ├── divider.d.ts │ │ │ │ │ ├── calendar.d.ts │ │ │ │ │ ├── radio-button.d.ts │ │ │ │ │ ├── backtop.d.ts │ │ │ │ │ ├── badge.d.ts │ │ │ │ │ ├── component.d.ts │ │ │ │ │ ├── radio.d.ts │ │ │ │ │ ├── dropdown-item.d.ts │ │ │ │ │ ├── radio-group.d.ts │ │ │ │ │ ├── tab-pane.d.ts │ │ │ │ │ ├── timeline-item.d.ts │ │ │ │ │ ├── link.d.ts │ │ │ │ │ ├── card.d.ts │ │ │ │ │ ├── submenu.d.ts │ │ │ │ │ ├── color-picker.d.ts │ │ │ │ │ ├── checkbox-button.d.ts │ │ │ │ │ ├── collapse-item.d.ts │ │ │ │ │ ├── checkbox-group.d.ts │ │ │ │ │ ├── popconfirm.d.ts │ │ │ │ │ ├── tag.d.ts │ │ │ │ │ ├── row.d.ts │ │ │ │ │ ├── alert.d.ts │ │ │ │ │ ├── step.d.ts │ │ │ │ │ ├── steps.d.ts │ │ │ │ │ ├── checkbox.d.ts │ │ │ │ │ ├── tabs.d.ts │ │ │ │ │ ├── button.d.ts │ │ │ │ │ ├── image.d.ts │ │ │ │ │ ├── dropdown.d.ts │ │ │ │ │ ├── input-number.d.ts │ │ │ │ │ ├── progress.d.ts │ │ │ │ │ ├── form-item.d.ts │ │ │ │ │ ├── switch.d.ts │ │ │ │ │ └── pagination.d.ts │ │ │ │ ├── src │ │ │ │ │ ├── mixins │ │ │ │ │ │ ├── focus.js │ │ │ │ │ │ ├── locale.js │ │ │ │ │ │ └── emitter.js │ │ │ │ │ ├── utils │ │ │ │ │ │ ├── vdom.js │ │ │ │ │ │ ├── shared.js │ │ │ │ │ │ ├── merge.js │ │ │ │ │ │ ├── menu │ │ │ │ │ │ │ └── aria-menubar.js │ │ │ │ │ │ ├── types.js │ │ │ │ │ │ ├── scrollbar-width.js │ │ │ │ │ │ ├── scroll-into-view.js │ │ │ │ │ │ ├── after-leave.js │ │ │ │ │ │ └── resize-event.js │ │ │ │ │ ├── directives │ │ │ │ │ │ ├── mousewheel.js │ │ │ │ │ │ └── repeat-click.js │ │ │ │ │ └── locale │ │ │ │ │ │ └── format.js │ │ │ │ └── LICENSE │ │ │ ├── js │ │ │ │ └── index.js │ │ │ └── css │ │ │ │ ├── admission.css │ │ │ │ └── index.css │ │ ├── startResource │ │ │ ├── 课设选题.pdf │ │ │ ├── 招生计划测试数据.xlsx │ │ │ └── 平行志愿考生测试数据.xlsx │ │ ├── banner │ │ │ └── banner.txt │ │ ├── application.yml │ │ └── mapper │ │ │ └── PlanMapper.xml │ └── java │ │ └── com │ │ └── gdut │ │ └── admission │ │ ├── entity │ │ ├── SortPlan.java │ │ └── Admission.java │ │ ├── mapper │ │ ├── PlanMapper.java │ │ ├── AdmissionMapper.java │ │ └── StuMapper.java │ │ ├── AdmissionApplication.java │ │ ├── dto │ │ ├── SchoolDto.java │ │ ├── CollegeDto.java │ │ ├── AdmissionStuDto.java │ │ ├── AdmissionDto.java │ │ ├── ProfessionDto.java │ │ └── Result.java │ │ ├── config │ │ └── MPConfig.java │ │ └── service │ │ ├── IPlanService.java │ │ ├── IStuService.java │ │ └── IAdmissionService.java └── test │ └── java │ └── com │ └── gdut │ └── admission │ ├── AdmissionApplicationTests.java │ └── testEasyExcel.java ├── .gitignore └── README.md /src/main/resources/static/element-ui/lib/theme-chalk/form-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/menu-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/submenu.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/tab-pane.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/breadcrumb-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/button-group.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/checkbox-button.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/checkbox-group.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/collapse-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/dropdown-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/dropdown-menu.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/infinite-scroll.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/infiniteScroll.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/menu-item-group.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/submenu.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/button-group.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/form-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/menu-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/tab-pane.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/form-item.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/menu-item.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/submenu.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/tab-pane.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/breadcrumb-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/checkbox-button.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/checkbox-group.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/collapse-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/dropdown-item.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/dropdown-menu.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/infinite-scroll.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/infiniteScroll.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/menu-item-group.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/breadcrumb-item.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/button-group.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/checkbox-button.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/checkbox-group.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/collapse-item.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/dropdown-item.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/dropdown-menu.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/infinite-scroll.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/infiniteScroll.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/menu-item-group.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/message/index.js: -------------------------------------------------------------------------------- 1 | import Message from './src/main.js'; 2 | export default Message; 3 | -------------------------------------------------------------------------------- /src/main/resources/startResource/课设选题.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/startResource/课设选题.pdf -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/base.scss: -------------------------------------------------------------------------------- 1 | @import "common/transition.scss"; 2 | @import "icon.scss"; 3 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/message-box/index.js: -------------------------------------------------------------------------------- 1 | import MessageBox from './src/main.js'; 2 | export default MessageBox; 3 | -------------------------------------------------------------------------------- /src/main/resources/startResource/招生计划测试数据.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/startResource/招生计划测试数据.xlsx -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/notification/index.js: -------------------------------------------------------------------------------- 1 | import Notification from './src/main.js'; 2 | export default Notification; 3 | -------------------------------------------------------------------------------- /src/main/resources/startResource/平行志愿考生测试数据.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/startResource/平行志愿考生测试数据.xlsx -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/radio-group.css: -------------------------------------------------------------------------------- 1 | .el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/radio-group.css: -------------------------------------------------------------------------------- 1 | .el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './element-ui' 2 | 3 | import * as ElementUI from './element-ui' 4 | export default ElementUI 5 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/aside.css: -------------------------------------------------------------------------------- 1 | .el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/footer.css: -------------------------------------------------------------------------------- 1 | .el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/header.css: -------------------------------------------------------------------------------- 1 | .el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/aside.css: -------------------------------------------------------------------------------- 1 | .el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/footer.css: -------------------------------------------------------------------------------- 1 | .el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/header.css: -------------------------------------------------------------------------------- 1 | .el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/mixins/config.scss: -------------------------------------------------------------------------------- 1 | $namespace: 'el'; 2 | $element-separator: '__'; 3 | $modifier-separator: '--'; 4 | $state-prefix: 'is-'; 5 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/timeline.css: -------------------------------------------------------------------------------- 1 | .el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/main.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Main Component */ 4 | export declare class ElMain extends ElementUIComponent {} 5 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/static/element-ui/lib/theme-chalk/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/static/element-ui/lib/theme-chalk/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/timeline.css: -------------------------------------------------------------------------------- 1 | .el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/aside.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(aside) { 4 | overflow: auto; 5 | box-sizing: border-box; 6 | flex-shrink: 0; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/static/element-ui/packages/theme-chalk/lib/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/static/element-ui/packages/theme-chalk/src/fonts/element-icons.ttf -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/button-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Button Group Component */ 4 | export declare class ElButtonGroup extends ElementUIComponent {} 5 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/static/element-ui/packages/theme-chalk/lib/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baoocjb/admission/HEAD/src/main/resources/static/element-ui/packages/theme-chalk/src/fonts/element-icons.woff -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/dropdown-menu.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Dropdown Menu Component */ 4 | export declare class ElDropdownMenu extends ElementUIComponent {} 5 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/infinite-scroll.d.ts: -------------------------------------------------------------------------------- 1 | import { VNodeDirective } from 'vue' 2 | 3 | export interface ElInfiniteScroll extends VNodeDirective { 4 | name: 'infinite-scroll', 5 | value: Function 6 | } -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/mixins/focus.js: -------------------------------------------------------------------------------- 1 | export default function(ref) { 2 | return { 3 | methods: { 4 | focus() { 5 | this.$refs[ref].focus(); 6 | } 7 | } 8 | }; 9 | }; 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/timeline.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Timeline Component */ 4 | export declare class ElTimeline extends ElementUIComponent { 5 | reverse: boolean 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/card/index.js: -------------------------------------------------------------------------------- 1 | import Card from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Card.install = function(Vue) { 5 | Vue.component(Card.name, Card); 6 | }; 7 | 8 | export default Card; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/link/index.js: -------------------------------------------------------------------------------- 1 | import Link from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Link.install = function(Vue) { 5 | Vue.component(Link.name, Link); 6 | }; 7 | 8 | export default Link; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/main/index.js: -------------------------------------------------------------------------------- 1 | import Main from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Main.install = function(Vue) { 5 | Vue.component(Main.name, Main); 6 | }; 7 | 8 | export default Main; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/rate/index.js: -------------------------------------------------------------------------------- 1 | import Rate from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Rate.install = function(Vue) { 5 | Vue.component(Rate.name, Rate); 6 | }; 7 | 8 | export default Rate; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/tag/index.js: -------------------------------------------------------------------------------- 1 | import ElTag from './src/tag'; 2 | 3 | /* istanbul ignore next */ 4 | ElTag.install = function(Vue) { 5 | Vue.component(ElTag.name, ElTag); 6 | }; 7 | 8 | export default ElTag; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/mixins/locale.js: -------------------------------------------------------------------------------- 1 | import { t } from 'element-ui/src/locale'; 2 | 3 | export default { 4 | methods: { 5 | t(...args) { 6 | return t.apply(this, args); 7 | } 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/main.css: -------------------------------------------------------------------------------- 1 | .el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/alert/index.js: -------------------------------------------------------------------------------- 1 | import Alert from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Alert.install = function(Vue) { 5 | Vue.component(Alert.name, Alert); 6 | }; 7 | 8 | export default Alert; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/aside/index.js: -------------------------------------------------------------------------------- 1 | import Aside from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Aside.install = function(Vue) { 5 | Vue.component(Aside.name, Aside); 6 | }; 7 | 8 | export default Aside; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/badge/index.js: -------------------------------------------------------------------------------- 1 | import Badge from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Badge.install = function(Vue) { 5 | Vue.component(Badge.name, Badge); 6 | }; 7 | 8 | export default Badge; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/image/index.js: -------------------------------------------------------------------------------- 1 | import Image from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Image.install = function(Vue) { 5 | Vue.component(Image.name, Image); 6 | }; 7 | 8 | export default Image; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/radio/index.js: -------------------------------------------------------------------------------- 1 | import Radio from './src/radio'; 2 | 3 | /* istanbul ignore next */ 4 | Radio.install = function(Vue) { 5 | Vue.component(Radio.name, Radio); 6 | }; 7 | 8 | export default Radio; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/row/index.js: -------------------------------------------------------------------------------- 1 | import Row from './src/row'; 2 | 3 | /* istanbul ignore next */ 4 | Row.install = function(Vue) { 5 | Vue.component(Row.name, Row); 6 | }; 7 | 8 | export default Row; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/step/index.js: -------------------------------------------------------------------------------- 1 | import Step from '../steps/src/step'; 2 | 3 | /* istanbul ignore next */ 4 | Step.install = function(Vue) { 5 | Vue.component(Step.name, Step); 6 | }; 7 | 8 | export default Step; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/steps/index.js: -------------------------------------------------------------------------------- 1 | import Steps from './src/steps'; 2 | 3 | /* istanbul ignore next */ 4 | Steps.install = function(Vue) { 5 | Vue.component(Steps.name, Steps); 6 | }; 7 | 8 | export default Steps; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/tree/index.js: -------------------------------------------------------------------------------- 1 | import Tree from './src/tree.vue'; 2 | 3 | /* istanbul ignore next */ 4 | Tree.install = function(Vue) { 5 | Vue.component(Tree.name, Tree); 6 | }; 7 | 8 | export default Tree; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/upload/index.js: -------------------------------------------------------------------------------- 1 | import Upload from './src'; 2 | 3 | /* istanbul ignore next */ 4 | Upload.install = function(Vue) { 5 | Vue.component(Upload.name, Upload); 6 | }; 7 | 8 | export default Upload; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/icon.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Icon Component */ 4 | export declare class ElIcon extends ElementUIComponent { 5 | /** Icon name */ 6 | name: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/avatar/index.js: -------------------------------------------------------------------------------- 1 | import Avatar from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Avatar.install = function(Vue) { 5 | Vue.component(Avatar.name, Avatar); 6 | }; 7 | 8 | export default Avatar; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/drawer/index.js: -------------------------------------------------------------------------------- 1 | import Drawer from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Drawer.install = function(Vue) { 5 | Vue.component(Drawer.name, Drawer); 6 | }; 7 | 8 | export default Drawer; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/footer/index.js: -------------------------------------------------------------------------------- 1 | import Footer from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Footer.install = function(Vue) { 5 | Vue.component(Footer.name, Footer); 6 | }; 7 | 8 | export default Footer; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/form/index.js: -------------------------------------------------------------------------------- 1 | import ElForm from './src/form'; 2 | 3 | /* istanbul ignore next */ 4 | ElForm.install = function(Vue) { 5 | Vue.component(ElForm.name, ElForm); 6 | }; 7 | 8 | export default ElForm; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/header/index.js: -------------------------------------------------------------------------------- 1 | import Header from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Header.install = function(Vue) { 5 | Vue.component(Header.name, Header); 6 | }; 7 | 8 | export default Header; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/menu/index.js: -------------------------------------------------------------------------------- 1 | import ElMenu from './src/menu'; 2 | 3 | /* istanbul ignore next */ 4 | ElMenu.install = function(Vue) { 5 | Vue.component(ElMenu.name, ElMenu); 6 | }; 7 | 8 | export default ElMenu; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/slider/index.js: -------------------------------------------------------------------------------- 1 | import Slider from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Slider.install = function(Vue) { 5 | Vue.component(Slider.name, Slider); 6 | }; 7 | 8 | export default Slider; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/tabs/index.js: -------------------------------------------------------------------------------- 1 | import ElTabs from './src/tabs'; 2 | 3 | /* istanbul ignore next */ 4 | ElTabs.install = function(Vue) { 5 | Vue.component(ElTabs.name, ElTabs); 6 | }; 7 | 8 | export default ElTabs; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/footer.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(footer) { 5 | padding: $--footer-padding; 6 | box-sizing: border-box; 7 | flex-shrink: 0; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/header.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(header) { 5 | padding: $--header-padding; 6 | box-sizing: border-box; 7 | flex-shrink: 0; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/vdom.js: -------------------------------------------------------------------------------- 1 | import { hasOwn } from 'element-ui/src/utils/util'; 2 | 3 | export function isVNode(node) { 4 | return node !== null && typeof node === 'object' && hasOwn(node, 'componentOptions'); 5 | }; 6 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/backtop/index.js: -------------------------------------------------------------------------------- 1 | import Backtop from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Backtop.install = function(Vue) { 5 | Vue.component(Backtop.name, Backtop); 6 | }; 7 | 8 | export default Backtop; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/col/index.js: -------------------------------------------------------------------------------- 1 | import ElCol from './src/col'; 2 | 3 | /* istanbul ignore next */ 4 | ElCol.install = function(Vue) { 5 | Vue.component(ElCol.name, ElCol); 6 | }; 7 | 8 | export default ElCol; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/divider/index.js: -------------------------------------------------------------------------------- 1 | import Divider from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Divider.install = function(Vue) { 5 | Vue.component(Divider.name, Divider); 6 | }; 7 | 8 | export default Divider; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/icon/index.js: -------------------------------------------------------------------------------- 1 | import ElIcon from './src/icon.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElIcon.install = function(Vue) { 5 | Vue.component(ElIcon.name, ElIcon); 6 | }; 7 | 8 | export default ElIcon; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/input/index.js: -------------------------------------------------------------------------------- 1 | import ElInput from './src/input'; 2 | 3 | /* istanbul ignore next */ 4 | ElInput.install = function(Vue) { 5 | Vue.component(ElInput.name, ElInput); 6 | }; 7 | 8 | export default ElInput; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/select/index.js: -------------------------------------------------------------------------------- 1 | import Select from './src/select'; 2 | 3 | /* istanbul ignore next */ 4 | Select.install = function(Vue) { 5 | Vue.component(Select.name, Select); 6 | }; 7 | 8 | export default Select; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/table/index.js: -------------------------------------------------------------------------------- 1 | import ElTable from './src/table'; 2 | 3 | /* istanbul ignore next */ 4 | ElTable.install = function(Vue) { 5 | Vue.component(ElTable.name, ElTable); 6 | }; 7 | 8 | export default ElTable; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/main.css: -------------------------------------------------------------------------------- 1 | .el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/tooltip/index.js: -------------------------------------------------------------------------------- 1 | import Tooltip from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Tooltip.install = function(Vue) { 5 | Vue.component(Tooltip.name, Tooltip); 6 | }; 7 | 8 | export default Tooltip; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/spinner/index.js: -------------------------------------------------------------------------------- 1 | import Spinner from './src/spinner'; 2 | 3 | /* istanbul ignore next */ 4 | Spinner.install = function(Vue) { 5 | Vue.component(Spinner.name, Spinner); 6 | }; 7 | 8 | export default Spinner; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/button/index.js: -------------------------------------------------------------------------------- 1 | import ElButton from './src/button'; 2 | 3 | /* istanbul ignore next */ 4 | ElButton.install = function(Vue) { 5 | Vue.component(ElButton.name, ElButton); 6 | }; 7 | 8 | export default ElButton; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/calendar/index.js: -------------------------------------------------------------------------------- 1 | import Calendar from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Calendar.install = function(Vue) { 5 | Vue.component(Calendar.name, Calendar); 6 | }; 7 | 8 | export default Calendar; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/carousel/index.js: -------------------------------------------------------------------------------- 1 | import Carousel from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Carousel.install = function(Vue) { 5 | Vue.component(Carousel.name, Carousel); 6 | }; 7 | 8 | export default Carousel; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/cascader/index.js: -------------------------------------------------------------------------------- 1 | import Cascader from './src/cascader'; 2 | 3 | /* istanbul ignore next */ 4 | Cascader.install = function(Vue) { 5 | Vue.component(Cascader.name, Cascader); 6 | }; 7 | 8 | export default Cascader; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/dialog/index.js: -------------------------------------------------------------------------------- 1 | import ElDialog from './src/component'; 2 | 3 | /* istanbul ignore next */ 4 | ElDialog.install = function(Vue) { 5 | Vue.component(ElDialog.name, ElDialog); 6 | }; 7 | 8 | export default ElDialog; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/timeline/index.js: -------------------------------------------------------------------------------- 1 | import Timeline from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Timeline.install = function(Vue) { 5 | Vue.component(Timeline.name, Timeline); 6 | }; 7 | 8 | export default Timeline; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/transfer/index.js: -------------------------------------------------------------------------------- 1 | import Transfer from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Transfer.install = function(Vue) { 5 | Vue.component(Transfer.name, Transfer); 6 | }; 7 | 8 | export default Transfer; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/aside.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Aside Component */ 4 | export declare class ElAside extends ElementUIComponent { 5 | /** Width of the side section */ 6 | width: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/footer.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Footer Component */ 4 | export declare class ElFooter extends ElementUIComponent { 5 | /** Height of the footer */ 6 | height: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/header.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Header Component */ 4 | export declare class ElHeader extends ElementUIComponent { 5 | /** Height of the header */ 6 | height: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/container/index.js: -------------------------------------------------------------------------------- 1 | import Container from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Container.install = function(Vue) { 5 | Vue.component(Container.name, Container); 6 | }; 7 | 8 | export default Container; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/option/index.js: -------------------------------------------------------------------------------- 1 | import ElOption from '../select/src/option'; 2 | 3 | /* istanbul ignore next */ 4 | ElOption.install = function(Vue) { 5 | Vue.component(ElOption.name, ElOption); 6 | }; 7 | 8 | export default ElOption; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/scrollbar/index.js: -------------------------------------------------------------------------------- 1 | import Scrollbar from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Scrollbar.install = function(Vue) { 5 | Vue.component(Scrollbar.name, Scrollbar); 6 | }; 7 | 8 | export default Scrollbar; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/switch/index.js: -------------------------------------------------------------------------------- 1 | import Switch from './src/component'; 2 | 3 | /* istanbul ignore next */ 4 | Switch.install = function(Vue) { 5 | Vue.component(Switch.name, Switch); 6 | }; 7 | 8 | export default Switch; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/tab-pane/index.js: -------------------------------------------------------------------------------- 1 | import TabPane from '../tabs/src/tab-pane.vue'; 2 | 3 | /* istanbul ignore next */ 4 | TabPane.install = function(Vue) { 5 | Vue.component(TabPane.name, TabPane); 6 | }; 7 | 8 | export default TabPane; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/button/src/button-group.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/checkbox/index.js: -------------------------------------------------------------------------------- 1 | import ElCheckbox from './src/checkbox'; 2 | 3 | /* istanbul ignore next */ 4 | ElCheckbox.install = function(Vue) { 5 | Vue.component(ElCheckbox.name, ElCheckbox); 6 | }; 7 | 8 | export default ElCheckbox; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/dropdown/index.js: -------------------------------------------------------------------------------- 1 | import ElDropdown from './src/dropdown'; 2 | 3 | /* istanbul ignore next */ 4 | ElDropdown.install = function(Vue) { 5 | Vue.component(ElDropdown.name, ElDropdown); 6 | }; 7 | 8 | export default ElDropdown; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/page-header/index.js: -------------------------------------------------------------------------------- 1 | import PageHeader from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | PageHeader.install = function(Vue) { 5 | Vue.component(PageHeader.name, PageHeader); 6 | }; 7 | 8 | export default PageHeader; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/popconfirm/index.js: -------------------------------------------------------------------------------- 1 | import Popconfirm from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | Popconfirm.install = function(Vue) { 5 | Vue.component(Popconfirm.name, Popconfirm); 6 | }; 7 | 8 | export default Popconfirm; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/progress/index.js: -------------------------------------------------------------------------------- 1 | import ElProgress from './src/progress'; 2 | 3 | /* istanbul ignore next */ 4 | ElProgress.install = function(Vue) { 5 | Vue.component(ElProgress.name, ElProgress); 6 | }; 7 | 8 | export default ElProgress; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/submenu/index.js: -------------------------------------------------------------------------------- 1 | import ElSubmenu from '../menu/src/submenu'; 2 | 3 | /* istanbul ignore next */ 4 | ElSubmenu.install = function(Vue) { 5 | Vue.component(ElSubmenu.name, ElSubmenu); 6 | }; 7 | 8 | export default ElSubmenu; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/shared.js: -------------------------------------------------------------------------------- 1 | export function isDef(val) { 2 | return val !== undefined && val !== null; 3 | } 4 | export function isKorean(text) { 5 | const reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; 6 | return reg.test(text); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/color-picker/index.js: -------------------------------------------------------------------------------- 1 | import ColorPicker from './src/main'; 2 | 3 | /* istanbul ignore next */ 4 | ColorPicker.install = function(Vue) { 5 | Vue.component(ColorPicker.name, ColorPicker); 6 | }; 7 | 8 | export default ColorPicker; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/pagination/index.js: -------------------------------------------------------------------------------- 1 | import Pagination from './src/pagination'; 2 | 3 | /* istanbul ignore next */ 4 | Pagination.install = function(Vue) { 5 | Vue.component(Pagination.name, Pagination); 6 | }; 7 | 8 | export default Pagination; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/menu-item-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Menu Item Group Component */ 4 | export declare class ElMenuItemGroup extends ElementUIComponent { 5 | /** Group title */ 6 | title: string 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/form-item/index.js: -------------------------------------------------------------------------------- 1 | import ElFormItem from '../form/src/form-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElFormItem.install = function(Vue) { 5 | Vue.component(ElFormItem.name, ElFormItem); 6 | }; 7 | 8 | export default ElFormItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/menu-item/index.js: -------------------------------------------------------------------------------- 1 | import ElMenuItem from '../menu/src/menu-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElMenuItem.install = function(Vue) { 5 | Vue.component(ElMenuItem.name, ElMenuItem); 6 | }; 7 | 8 | export default ElMenuItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/radio-group.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(radio-group) { 5 | display: inline-block; 6 | line-height: 1; 7 | vertical-align: middle; 8 | font-size: 0; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/breadcrumb/index.js: -------------------------------------------------------------------------------- 1 | import ElBreadcrumb from './src/breadcrumb'; 2 | 3 | /* istanbul ignore next */ 4 | ElBreadcrumb.install = function(Vue) { 5 | Vue.component(ElBreadcrumb.name, ElBreadcrumb); 6 | }; 7 | 8 | export default ElBreadcrumb; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/collapse/index.js: -------------------------------------------------------------------------------- 1 | import ElCollapse from './src/collapse'; 2 | 3 | /* istanbul ignore next */ 4 | ElCollapse.install = function(Vue) { 5 | Vue.component(ElCollapse.name, ElCollapse); 6 | }; 7 | 8 | export default ElCollapse; 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/icon/src/icon.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/main/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | -------------------------------------------------------------------------------- /src/main/resources/banner/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _ _ _______ 2 | / ____| | __ \ | | | | |__ __| 3 | | | __ | | | | | | | | | | 4 | | | |_ | | | | | | | | | | | 5 | | |__| | | |__| | | |__| | | | 6 | \_____| |_____/ \____/ |_| 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/popconfirm.css: -------------------------------------------------------------------------------- 1 | .el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/radio-group/index.js: -------------------------------------------------------------------------------- 1 | import RadioGroup from '../radio/src/radio-group.vue'; 2 | 3 | /* istanbul ignore next */ 4 | RadioGroup.install = function(Vue) { 5 | Vue.component(RadioGroup.name, RadioGroup); 6 | }; 7 | 8 | export default RadioGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/date-picker/index.js: -------------------------------------------------------------------------------- 1 | import DatePicker from './src/picker/date-picker'; 2 | 3 | /* istanbul ignore next */ 4 | DatePicker.install = function install(Vue) { 5 | Vue.component(DatePicker.name, DatePicker); 6 | }; 7 | 8 | export default DatePicker; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/input-number/index.js: -------------------------------------------------------------------------------- 1 | import ElInputNumber from './src/input-number'; 2 | 3 | /* istanbul ignore next */ 4 | ElInputNumber.install = function(Vue) { 5 | Vue.component(ElInputNumber.name, ElInputNumber); 6 | }; 7 | 8 | export default ElInputNumber; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/radio-button/index.js: -------------------------------------------------------------------------------- 1 | import RadioButton from '../radio/src/radio-button.vue'; 2 | 3 | /* istanbul ignore next */ 4 | RadioButton.install = function(Vue) { 5 | Vue.component(RadioButton.name, RadioButton); 6 | }; 7 | 8 | export default RadioButton; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/popconfirm.css: -------------------------------------------------------------------------------- 1 | .el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/autocomplete/index.js: -------------------------------------------------------------------------------- 1 | import ElAutocomplete from './src/autocomplete'; 2 | 3 | /* istanbul ignore next */ 4 | ElAutocomplete.install = function(Vue) { 5 | Vue.component(ElAutocomplete.name, ElAutocomplete); 6 | }; 7 | 8 | export default ElAutocomplete; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/cascader-panel/index.js: -------------------------------------------------------------------------------- 1 | import CascaderPanel from './src/cascader-panel'; 2 | 3 | /* istanbul ignore next */ 4 | CascaderPanel.install = function(Vue) { 5 | Vue.component(CascaderPanel.name, CascaderPanel); 6 | }; 7 | 8 | export default CascaderPanel; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/infinite-scroll/index.js: -------------------------------------------------------------------------------- 1 | import InfiniteScroll from './src/main.js'; 2 | 3 | /* istanbul ignore next */ 4 | InfiniteScroll.install = function(Vue) { 5 | Vue.directive(InfiniteScroll.name, InfiniteScroll); 6 | }; 7 | 8 | export default InfiniteScroll; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/table-column/index.js: -------------------------------------------------------------------------------- 1 | import ElTableColumn from '../table/src/table-column'; 2 | 3 | /* istanbul ignore next */ 4 | ElTableColumn.install = function(Vue) { 5 | Vue.component(ElTableColumn.name, ElTableColumn); 6 | }; 7 | 8 | export default ElTableColumn; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/time-picker/index.js: -------------------------------------------------------------------------------- 1 | import TimePicker from '../date-picker/src/picker/time-picker'; 2 | 3 | /* istanbul ignore next */ 4 | TimePicker.install = function(Vue) { 5 | Vue.component(TimePicker.name, TimePicker); 6 | }; 7 | 8 | export default TimePicker; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/time-select/index.js: -------------------------------------------------------------------------------- 1 | import TimeSelect from '../date-picker/src/picker/time-select'; 2 | 3 | /* istanbul ignore next */ 4 | TimeSelect.install = function(Vue) { 5 | Vue.component(TimeSelect.name, TimeSelect); 6 | }; 7 | 8 | export default TimeSelect; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/button-group/index.js: -------------------------------------------------------------------------------- 1 | import ElButtonGroup from '../button/src/button-group'; 2 | 3 | /* istanbul ignore next */ 4 | ElButtonGroup.install = function(Vue) { 5 | Vue.component(ElButtonGroup.name, ElButtonGroup); 6 | }; 7 | 8 | export default ElButtonGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/carousel-item/index.js: -------------------------------------------------------------------------------- 1 | import ElCarouselItem from '../carousel/src/item'; 2 | 3 | /* istanbul ignore next */ 4 | ElCarouselItem.install = function(Vue) { 5 | Vue.component(ElCarouselItem.name, ElCarouselItem); 6 | }; 7 | 8 | export default ElCarouselItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/option-group/index.js: -------------------------------------------------------------------------------- 1 | import ElOptionGroup from '../select/src/option-group'; 2 | 3 | /* istanbul ignore next */ 4 | ElOptionGroup.install = function(Vue) { 5 | Vue.component(ElOptionGroup.name, ElOptionGroup); 6 | }; 7 | 8 | export default ElOptionGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/timeline-item/index.js: -------------------------------------------------------------------------------- 1 | import ElTimelineItem from '../timeline/src/item'; 2 | 3 | /* istanbul ignore next */ 4 | ElTimelineItem.install = function(Vue) { 5 | Vue.component(ElTimelineItem.name, ElTimelineItem); 6 | }; 7 | 8 | export default ElTimelineItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/container.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Container Component */ 4 | export declare class ElContainer extends ElementUIComponent { 5 | /** Layout direction for child elements */ 6 | direction: 'horizontal' | 'vertical' 7 | } 8 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/dropdown-item/index.js: -------------------------------------------------------------------------------- 1 | import ElDropdownItem from '../dropdown/src/dropdown-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElDropdownItem.install = function(Vue) { 5 | Vue.component(ElDropdownItem.name, ElDropdownItem); 6 | }; 7 | 8 | export default ElDropdownItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/dropdown-menu/index.js: -------------------------------------------------------------------------------- 1 | import ElDropdownMenu from '../dropdown/src/dropdown-menu'; 2 | 3 | /* istanbul ignore next */ 4 | ElDropdownMenu.install = function(Vue) { 5 | Vue.component(ElDropdownMenu.name, ElDropdownMenu); 6 | }; 7 | 8 | export default ElDropdownMenu; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/mixins/focus.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function (ref) { 6 | return { 7 | methods: { 8 | focus: function focus() { 9 | this.$refs[ref].focus(); 10 | } 11 | } 12 | }; 13 | }; 14 | 15 | ; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/collapse-item/index.js: -------------------------------------------------------------------------------- 1 | import ElCollapseItem from '../collapse/src/collapse-item.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElCollapseItem.install = function(Vue) { 5 | Vue.component(ElCollapseItem.name, ElCollapseItem); 6 | }; 7 | 8 | export default ElCollapseItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/loading/index.js: -------------------------------------------------------------------------------- 1 | import directive from './src/directive'; 2 | import service from './src/index'; 3 | 4 | export default { 5 | install(Vue) { 6 | Vue.use(directive); 7 | Vue.prototype.$loading = service; 8 | }, 9 | directive, 10 | service 11 | }; 12 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/menu-item-group/index.js: -------------------------------------------------------------------------------- 1 | import ElMenuItemGroup from '../menu/src/menu-item-group'; 2 | 3 | /* istanbul ignore next */ 4 | ElMenuItemGroup.install = function(Vue) { 5 | Vue.component(ElMenuItemGroup.name, ElMenuItemGroup); 6 | }; 7 | 8 | export default ElMenuItemGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/page-header.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** PageHeader Component */ 4 | export declare class ElPageHeader extends ElementUIComponent { 5 | /** title */ 6 | title: String 7 | 8 | /** content */ 9 | content: String 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/entity/SortPlan.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.entity; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | 6 | @Data 7 | @EqualsAndHashCode(callSuper = false) 8 | public class SortPlan { 9 | private Integer planId; 10 | private Double minScore; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/checkbox-group/index.js: -------------------------------------------------------------------------------- 1 | import ElCheckboxGroup from '../checkbox/src/checkbox-group.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElCheckboxGroup.install = function(Vue) { 5 | Vue.component(ElCheckboxGroup.name, ElCheckboxGroup); 6 | }; 7 | 8 | export default ElCheckboxGroup; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/breadcrumb-item/index.js: -------------------------------------------------------------------------------- 1 | import ElBreadcrumbItem from '../breadcrumb/src/breadcrumb-item'; 2 | 3 | /* istanbul ignore next */ 4 | ElBreadcrumbItem.install = function(Vue) { 5 | Vue.component(ElBreadcrumbItem.name, ElBreadcrumbItem); 6 | }; 7 | 8 | export default ElBreadcrumbItem; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/checkbox-button/index.js: -------------------------------------------------------------------------------- 1 | import ElCheckboxButton from '../checkbox/src/checkbox-button.vue'; 2 | 3 | /* istanbul ignore next */ 4 | ElCheckboxButton.install = function(Vue) { 5 | Vue.component(ElCheckboxButton.name, ElCheckboxButton); 6 | }; 7 | 8 | export default ElCheckboxButton; 9 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/menu-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Menu Item Component */ 4 | export declare class ElMenuItem extends ElementUIComponent { 5 | /** Unique identification */ 6 | index: string 7 | 8 | /** Vue Router object */ 9 | route: object 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/com/gdut/admission/AdmissionApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class AdmissionApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/steps.css: -------------------------------------------------------------------------------- 1 | .el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/steps.css: -------------------------------------------------------------------------------- 1 | .el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/container.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(container) { 4 | display: flex; 5 | flex-direction: row; 6 | flex: 1; 7 | flex-basis: auto; 8 | box-sizing: border-box; 9 | min-width: 0; 10 | 11 | @include when(vertical) { 12 | flex-direction: column; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/shared.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | exports.isDef = isDef; 5 | exports.isKorean = isKorean; 6 | function isDef(val) { 7 | return val !== undefined && val !== null; 8 | } 9 | function isKorean(text) { 10 | var reg = /([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi; 11 | return reg.test(text); 12 | } -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/timeline.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(timeline) { 5 | margin: 0; 6 | font-size: $--font-size-base; 7 | list-style: none; 8 | 9 | & .el-timeline-item:last-child { 10 | & .el-timeline-item__tail { 11 | display: none; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/option-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Dropdown Select Option Group Component */ 4 | export declare class ElOptionGroup extends ElementUIComponent { 5 | /** Name of the group */ 6 | label: string 7 | 8 | /** Whether to disable all options in this group */ 9 | disabled: boolean 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/display.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "mixins/mixins"; 3 | 4 | .hidden { 5 | @each $break-point-name, $value in $--breakpoints-spec { 6 | &-#{$break-point-name} { 7 | @include res($break-point-name, $--breakpoints-spec) { 8 | display: none !important; 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/time-picker.scss: -------------------------------------------------------------------------------- 1 | @import "./date-picker/picker.scss"; 2 | @import "./date-picker/picker-panel.scss"; 3 | @import "./date-picker/time-spinner.scss"; 4 | @import "./date-picker/time-picker.scss"; 5 | @import "./date-picker/time-range-picker.scss"; 6 | @import "./input.scss"; 7 | @import "./scrollbar.scss"; 8 | @import "./popper"; 9 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/mapper/PlanMapper.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.mapper; 2 | 3 | import com.gdut.admission.entity.Plan; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author Bao 12 | * @since 2022-12-05 13 | */ 14 | public interface PlanMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/main.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(main) { 5 | // IE11 supports the
element partially https://caniuse.com/#search=main 6 | display: block; 7 | flex: 1; 8 | flex-basis: auto; 9 | overflow: auto; 10 | box-sizing: border-box; 11 | padding: $--main-padding; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/carousel-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Carousel Item Component */ 4 | export declare class ElCarouselItem extends ElementUIComponent { 5 | /** Name of the item, can be used in setActiveItem */ 6 | name: string 7 | 8 | /** Text content for the corresponding indicator */ 9 | label: string 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/collapse.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Use Collapse to store contents. */ 4 | export declare class ElCollapse extends ElementUIComponent { 5 | /** Whether to activate accordion mode */ 6 | accordion: boolean 7 | 8 | /** Currently active panel */ 9 | value: string | number | string[] | number[] 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/popconfirm.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(popconfirm) { 5 | @include e(main) { 6 | display: flex; 7 | align-items: center; 8 | } 9 | @include e(icon) { 10 | margin-right: 5px; 11 | } 12 | @include e(action) { 13 | text-align: right; 14 | margin: 0 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/breadcrumb.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Displays the location of the current page, making it easier to browser back */ 4 | export declare class ElBreadcrumb extends ElementUIComponent { 5 | /** Separator character */ 6 | separator: string 7 | 8 | /** Class name of the icon separator */ 9 | separatorClass: string 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/breadcrumb-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Breadcrumb Item Component */ 4 | export declare class ElBreadcrumbItem extends ElementUIComponent { 5 | /** Target route of the link, same as to of vue-router */ 6 | to: string | object 7 | 8 | /** If true, the navigation will not leave a history record */ 9 | replace: boolean 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/option.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Dropdown Select Option Component */ 4 | export declare class ElOption extends ElementUIComponent { 5 | /** Value of option */ 6 | value: any 7 | 8 | /** Label of option, same as value if omitted */ 9 | label: string 10 | 11 | /** Whether option is disabled */ 12 | disabled: boolean 13 | } 14 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/avatar.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Avatar Component */ 4 | export declare class ElAvatar extends ElementUIComponent { 5 | icon: string; 6 | 7 | size: string | number; 8 | 9 | shape: string; 10 | 11 | src: string; 12 | 13 | error: () => false; 14 | 15 | srcSet: string; 16 | 17 | alt: string; 18 | 19 | fit: string; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/divider.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type ContentPosition = 'left' | 'center' | 'right' 4 | 5 | /** Divider Component */ 6 | export declare class ElDivider extends ElementUIComponent { 7 | /** enable vertical divider */ 8 | vertical: boolean 9 | 10 | /** customize the content on the divider line */ 11 | posiiton: ContentPosition 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/aside/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/footer/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/header/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/popover/index.js: -------------------------------------------------------------------------------- 1 | import Popover from './src/main'; 2 | import directive from './src/directive'; 3 | import Vue from 'vue'; 4 | 5 | Vue.directive('popover', directive); 6 | 7 | /* istanbul ignore next */ 8 | Popover.install = function(Vue) { 9 | Vue.directive('popover', directive); 10 | Vue.component(Popover.name, Popover); 11 | }; 12 | Popover.directive = directive; 13 | 14 | export default Popover; 15 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/merge.js: -------------------------------------------------------------------------------- 1 | export default function(target) { 2 | for (let i = 1, j = arguments.length; i < j; i++) { 3 | let source = arguments[i] || {}; 4 | for (let prop in source) { 5 | if (source.hasOwnProperty(prop)) { 6 | let value = source[prop]; 7 | if (value !== undefined) { 8 | target[prop] = value; 9 | } 10 | } 11 | } 12 | } 13 | 14 | return target; 15 | }; 16 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/mixins/locale.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _locale = require('element-ui/lib/locale'); 6 | 7 | exports.default = { 8 | methods: { 9 | t: function t() { 10 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { 11 | args[_key] = arguments[_key]; 12 | } 13 | 14 | return _locale.t.apply(this, args); 15 | } 16 | } 17 | }; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/slider/src/marker.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'ElMarker', 3 | 4 | props: { 5 | mark: { 6 | type: [String, Object] 7 | } 8 | }, 9 | render() { 10 | let label = typeof this.mark === 'string' ? this.mark : this.mark.label; 11 | 12 | return ( 13 |
14 | { label } 15 |
16 | ); 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/steps.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(steps) { 4 | display: flex; 5 | 6 | @include m(simple) { 7 | padding: 13px 8%; 8 | border-radius: 4px; 9 | background: $--background-color-base; 10 | } 11 | 12 | @include m(horizontal) { 13 | white-space: nowrap; 14 | } 15 | 16 | @include m(vertical) { 17 | height: 100%; 18 | flex-flow: column; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/calendar.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type DateType = Date | String | Number 4 | 5 | /** Calendar Component */ 6 | export declare class ElCalendar extends ElementUIComponent { 7 | /** Binding value */ 8 | value: DateType 9 | 10 | /** Specify the display range of the calendar */ 11 | range: DateType[] 12 | 13 | /** First day of week */ 14 | firstDayOfWeek: number 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/radio-button.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Radio Button Component */ 4 | export declare class ElRadioButton extends ElementUIComponent { 5 | /** The form input value */ 6 | value: string 7 | 8 | /** The value of radio */ 9 | label: string | number 10 | 11 | /** Whether radio is disabled */ 12 | disabled: boolean 13 | 14 | /** Native 'name' attribute */ 15 | name: string 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/date-picker/src/picker/time-select.js: -------------------------------------------------------------------------------- 1 | import Picker from '../picker'; 2 | import Panel from '../panel/time-select'; 3 | 4 | export default { 5 | mixins: [Picker], 6 | 7 | name: 'ElTimeSelect', 8 | 9 | componentName: 'ElTimeSelect', 10 | 11 | props: { 12 | type: { 13 | type: String, 14 | default: 'time-select' 15 | } 16 | }, 17 | 18 | beforeCreate() { 19 | this.panel = Panel; 20 | } 21 | }; 22 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/menu/aria-menubar.js: -------------------------------------------------------------------------------- 1 | import MenuItem from './aria-menuitem'; 2 | 3 | const Menu = function(domNode) { 4 | this.domNode = domNode; 5 | this.init(); 6 | }; 7 | 8 | Menu.prototype.init = function() { 9 | let menuChildren = this.domNode.childNodes; 10 | [].filter.call(menuChildren, child => child.nodeType === 1).forEach(child => { 11 | new MenuItem(child); // eslint-disable-line 12 | }); 13 | }; 14 | export default Menu; 15 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/backtop.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Backtop Component */ 4 | export declare class ElBacktop extends ElementUIComponent { 5 | /** Backtop target */ 6 | target: string 7 | 8 | /** Backtop visibility height */ 9 | visibilityHeight: string | number 10 | 11 | /** Backtop right position */ 12 | right: string | number 13 | 14 | /** Backtop bottom position */ 15 | bottom: string | number 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/container.css: -------------------------------------------------------------------------------- 1 | .el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/backtop.css: -------------------------------------------------------------------------------- 1 | .el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;color:#409EFF;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/badge.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Badge Component */ 4 | export declare class ElBadge extends ElementUIComponent { 5 | /** Display value */ 6 | value: string | number 7 | 8 | /** Maximum value, shows '{max}+' when exceeded. Only works if `value` is a number */ 9 | max: number 10 | 11 | /** If a little dot is displayed */ 12 | isDot: boolean 13 | 14 | /** Hidden badge */ 15 | hidden: boolean 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/container.css: -------------------------------------------------------------------------------- 1 | .el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/card.css: -------------------------------------------------------------------------------- 1 | .el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/backtop.css: -------------------------------------------------------------------------------- 1 | .el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;color:#409EFF;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/card.css: -------------------------------------------------------------------------------- 1 | .el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/option-group.css: -------------------------------------------------------------------------------- 1 | .el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px} -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/AdmissionApplication.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @SpringBootApplication 8 | @MapperScan("com.gdut.admission.mapper") 9 | public class AdmissionApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(AdmissionApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/dto/SchoolDto.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.dto; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | 6 | @Data 7 | @EqualsAndHashCode 8 | public class SchoolDto { 9 | // 学校最高分 10 | private Double maxScore; 11 | // 学校最高排位 12 | private Integer maxRank; 13 | // 学校最低分 14 | private Double minScore; 15 | // 学校最低排位 16 | private Integer minRank; 17 | // 学校平均分 18 | private Double avgScore; 19 | // 学校中位数 20 | private Double midScore; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/merge.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function (target) { 6 | for (var i = 1, j = arguments.length; i < j; i++) { 7 | var source = arguments[i] || {}; 8 | for (var prop in source) { 9 | if (source.hasOwnProperty(prop)) { 10 | var value = source[prop]; 11 | if (value !== undefined) { 12 | target[prop] = value; 13 | } 14 | } 15 | } 16 | } 17 | 18 | return target; 19 | }; 20 | 21 | ; -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/dto/CollegeDto.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.dto; 2 | 3 | import lombok.Data; 4 | import lombok.EqualsAndHashCode; 5 | 6 | @Data 7 | @EqualsAndHashCode 8 | public class CollegeDto { 9 | // 学院名称 10 | private String collegeName; 11 | // 学院最高分 12 | private Double maxScore; 13 | // 学院最高排位 14 | private Integer maxRank; 15 | // 学院最低分 16 | private Double minScore; 17 | // 学院最低排位 18 | private Integer minRank; 19 | // 学院平均分 20 | private Double avgScore; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/option-group.css: -------------------------------------------------------------------------------- 1 | .el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/component.d.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | /** ElementUI component common definition */ 4 | export declare class ElementUIComponent extends Vue { 5 | /** Install component into Vue */ 6 | static install (vue: typeof Vue): void 7 | } 8 | 9 | /** Component size definition for button, input, etc */ 10 | export type ElementUIComponentSize = 'large' | 'medium' | 'small' | 'mini' 11 | 12 | /** Horizontal alignment */ 13 | export type ElementUIHorizontalAlignment = 'left' | 'center' | 'right' 14 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/radio.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Radio Component */ 4 | export declare class ElRadio extends ElementUIComponent { 5 | /** The form input value */ 6 | value: string 7 | 8 | /** The value of radio */ 9 | label: string | number | boolean 10 | 11 | /** Whether radio is disabled */ 12 | disabled: boolean 13 | 14 | /** Whether to add a border around Radio */ 15 | border: boolean 16 | 17 | /** Native 'name' attribute */ 18 | name: string 19 | } 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/date-picker.scss: -------------------------------------------------------------------------------- 1 | @import "./date-picker/date-table.scss"; 2 | @import "./date-picker/month-table.scss"; 3 | @import "./date-picker/year-table.scss"; 4 | @import "./date-picker/time-spinner.scss"; 5 | @import "./date-picker/picker.scss"; 6 | @import "./date-picker/date-picker.scss"; 7 | @import "./date-picker/date-range-picker.scss"; 8 | @import "./date-picker/time-range-picker.scss"; 9 | @import "./date-picker/time-picker.scss"; 10 | @import "./input.scss"; 11 | @import "./scrollbar.scss"; 12 | @import "./popper"; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/option.css: -------------------------------------------------------------------------------- 1 | .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/option.css: -------------------------------------------------------------------------------- 1 | .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/dropdown-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Toggleable menu for displaying lists of links and actions. */ 4 | export declare class ElDropdownItem extends ElementUIComponent { 5 | /** A command to be dispatched to Dropdown's command callback */ 6 | command: string | number | object 7 | 8 | /** Whether the item is disabled */ 9 | disabled: boolean 10 | 11 | /** Whether a divider is displayed */ 12 | divided: boolean 13 | 14 | /** Icon to show on left side of text */ 15 | icon: string 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/radio-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type RadioGroupSize = 'large' | 'small' 4 | 5 | /** Radio Group Component */ 6 | export declare class ElRadioGroup extends ElementUIComponent { 7 | /** The size of radio buttons */ 8 | size: RadioGroupSize 9 | 10 | /** Border and background color when button is active */ 11 | fill: string 12 | 13 | /** Whether the nesting radios are disabled */ 14 | disabled: boolean 15 | 16 | /** Font color when button is active */ 17 | textColor: string 18 | } 19 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/avatar.css: -------------------------------------------------------------------------------- 1 | .el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/rate.css: -------------------------------------------------------------------------------- 1 | .el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/tab-pane.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Tab Pane Component */ 4 | export declare class ElTabPane extends ElementUIComponent { 5 | /** Title of the tab */ 6 | label: string 7 | 8 | /** Whether Tab is disabled */ 9 | disabled: boolean 10 | 11 | /** Identifier corresponding to the activeName of Tabs, representing the alias of the tab-pane */ 12 | name: string 13 | 14 | /** Whether Tab is closable */ 15 | closable: boolean 16 | 17 | /** Whether Tab is lazily rendered */ 18 | lazy: boolean 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/dto/AdmissionStuDto.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.dto; 2 | 3 | import com.alibaba.excel.annotation.ExcelProperty; 4 | import com.gdut.admission.entity.Stu; 5 | import lombok.Data; 6 | import lombok.EqualsAndHashCode; 7 | 8 | @Data 9 | @EqualsAndHashCode(callSuper = false) 10 | public class AdmissionStuDto extends Stu { 11 | // 录取学院 12 | @ExcelProperty("录取学院") 13 | String collegeName; 14 | // 录取专业 15 | @ExcelProperty("录取专业") 16 | String professionName; 17 | // 录取志愿编号 18 | @ExcelProperty("录取志愿编号") 19 | String professionNum; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/avatar.css: -------------------------------------------------------------------------------- 1 | .el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/rate.css: -------------------------------------------------------------------------------- 1 | .el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-rate__text{font-size:14px;vertical-align:middle} -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/dto/AdmissionDto.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.dto; 2 | 3 | import com.gdut.admission.entity.Admission; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | @Data 8 | @EqualsAndHashCode(callSuper = false) 9 | public class AdmissionDto extends Admission { 10 | private String stuName; 11 | private Double score; 12 | private String stuRank; 13 | private String language; 14 | private String professionNum; 15 | private String professionName; 16 | private String collegeName; 17 | private String comment; 18 | private String location; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/popover/src/directive.js: -------------------------------------------------------------------------------- 1 | const getReference = (el, binding, vnode) => { 2 | const _ref = binding.expression ? binding.value : binding.arg; 3 | const popper = vnode.context.$refs[_ref]; 4 | if (popper) { 5 | if (Array.isArray(popper)) { 6 | popper[0].$refs.reference = el; 7 | } else { 8 | popper.$refs.reference = el; 9 | } 10 | } 11 | }; 12 | 13 | export default { 14 | bind(el, binding, vnode) { 15 | getReference(el, binding, vnode); 16 | }, 17 | inserted(el, binding, vnode) { 18 | getReference(el, binding, vnode); 19 | } 20 | }; 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/backtop.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(backtop) { 5 | position: fixed; 6 | background-color: $--backtop-background-color; 7 | width: 40px; 8 | height: 40px; 9 | border-radius: 50%; 10 | color: $--backtop-font-color; 11 | display: flex; 12 | align-items: center; 13 | justify-content: center; 14 | font-size: 20px; 15 | box-shadow: 0 0 6px rgba(0,0,0, .12); 16 | cursor: pointer; 17 | z-index: 5; 18 | 19 | &:hover { 20 | background-color: $--backtop-hover-background-color 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/timeline-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type TimelineItemPlacement = 'top' | 'bottom' 4 | export type TimelineItemType = 'primary' | 'success' | 'warning' | 'danger' | 'info' 5 | export type TimelineItemSize = 'normal' | 'large' 6 | 7 | /** TimelineItem Component */ 8 | export declare class ElTimelineItem extends ElementUIComponent { 9 | timestamp: string 10 | 11 | hideTimestamp: boolean 12 | 13 | placement: TimelineItemPlacement 14 | 15 | type: TimelineItemType 16 | 17 | size: TimelineItemSize 18 | 19 | icon: string 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/card/src/main.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 24 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/vdom.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; 6 | 7 | exports.isVNode = isVNode; 8 | 9 | var _util = require('element-ui/lib/utils/util'); 10 | 11 | function isVNode(node) { 12 | return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions'); 13 | }; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/page-header.css: -------------------------------------------------------------------------------- 1 | .el-page-header{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/page-header.css: -------------------------------------------------------------------------------- 1 | .el-page-header{display:-webkit-box;display:-ms-flexbox;display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/link.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Button type */ 4 | export type LinkType = 'primary' | 'success' | 'warning' | 'danger' | 'info' 5 | 6 | /** Link Component */ 7 | export declare class ElLink extends ElementUIComponent { 8 | /** Link type */ 9 | type: LinkType 10 | 11 | /** Disable the link */ 12 | disabled: boolean 13 | 14 | /** Link underline */ 15 | underline: boolean 16 | 17 | /** Link icon, accepts an icon name of Element icon component */ 18 | icon: string 19 | 20 | /** Link href */ 21 | href: string 22 | 23 | /** Link target */ 24 | target: string 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/card.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode, VNodeDirective } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export interface CardSlots { 5 | /** Content of the card */ 6 | default: VNode[], 7 | 8 | /** Title of the card */ 9 | header: VNode[] 10 | 11 | [key: string]: VNode[] 12 | } 13 | 14 | /** Integrate information in a card container */ 15 | export declare class ElCard extends ElementUIComponent { 16 | /** Title of the card */ 17 | header: string 18 | 19 | /** CSS style of body */ 20 | bodyStyle: object 21 | 22 | /** When to show card shadows */ 23 | shadow: string 24 | 25 | $slots: CardSlots 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/submenu.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Submenu Component */ 4 | export declare class ElSubmenu extends ElementUIComponent { 5 | /** Unique identification */ 6 | index: string | null 7 | 8 | /** Delay time before showing a sub-menu */ 9 | showTimeout: number 10 | 11 | /** Delay time before hiding a sub-menu */ 12 | hideTimeout: number 13 | 14 | /** Custom class name for the popup menu */ 15 | popperClass: string 16 | 17 | /** Whether the sub-menu is disabled */ 18 | disabled: boolean 19 | 20 | /** Whether to append the popper menu to body */ 21 | popperAppendToBody: boolean 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/directives/mousewheel.js: -------------------------------------------------------------------------------- 1 | import normalizeWheel from 'normalize-wheel'; 2 | 3 | const isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 4 | 5 | const mousewheel = function(element, callback) { 6 | if (element && element.addEventListener) { 7 | element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function(event) { 8 | const normalized = normalizeWheel(event); 9 | callback && callback.apply(this, [event, normalized]); 10 | }); 11 | } 12 | }; 13 | 14 | export default { 15 | bind(el, binding) { 16 | mousewheel(el, binding.value); 17 | } 18 | }; 19 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/dto/ProfessionDto.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.dto; 2 | 3 | import com.gdut.admission.entity.Plan; 4 | import lombok.Data; 5 | import lombok.EqualsAndHashCode; 6 | 7 | @Data 8 | @EqualsAndHashCode 9 | public class ProfessionDto{ 10 | // 专业代号 11 | private String professionNum; 12 | // 专业名称 13 | private String professionName; 14 | // 所属学院名称 15 | private String collegeName; 16 | // 专业最高分 17 | private Double maxScore; 18 | // 专业最高排位 19 | private Integer maxRank; 20 | // 专业最低分 21 | private Double minScore; 22 | // 专业最低排位 23 | private Integer minRank; 24 | // 专业平均分 25 | private Double avgScore; 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/static/js/index.js: -------------------------------------------------------------------------------- 1 | // 设置按钮 2 | const signInBtn = document.getElementById("signIn"); 3 | const signUpBtn = document.getElementById("signUp"); 4 | const fistForm = document.getElementById("form1"); 5 | const secondForm = document.getElementById("form2"); 6 | const container = document.querySelector(".container"); 7 | // 点击事件 8 | signInBtn.addEventListener("click", () => { 9 | container.classList.remove("right-panel-active"); 10 | }); 11 | signUpBtn.addEventListener("click", () => { 12 | container.classList.add("right-panel-active"); 13 | }); 14 | fistForm.addEventListener("submit", (e) => e.preventDefault()); 15 | secondForm.addEventListener("submit", (e) => e.preventDefault()); 16 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/config/MPConfig.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.config; 2 | 3 | import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; 4 | import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; 5 | import org.springframework.context.annotation.Bean; 6 | import org.springframework.context.annotation.Configuration; 7 | 8 | @Configuration 9 | public class MPConfig { 10 | @Bean 11 | public MybatisPlusInterceptor mybatisPlusInterceptor(){ 12 | MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); 13 | interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 14 | return interceptor; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/color-picker.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | export type ColorFormat = 'hsl' | 'hsv' | 'hex' | 'rgb' 4 | 5 | /** ColorPicker Component */ 6 | export declare class ElColorPicker extends ElementUIComponent { 7 | /** Whether to display the alpha slider */ 8 | showAlpha: boolean 9 | 10 | /** Whether to disable the ColorPicker */ 11 | disabled: boolean 12 | 13 | /** Size of ColorPicker */ 14 | size: ElementUIComponentSize 15 | 16 | /** Whether to display the alpha slider */ 17 | popperClass: string 18 | 19 | /** Custom class name for ColorPicker's dropdown */ 20 | colorFormat: ColorFormat 21 | } 22 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/checkbox-button.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Checkbox Button Component */ 4 | export declare class ElCheckboxButton extends ElementUIComponent { 5 | /** Value of the checkbox when used inside a checkbox-group */ 6 | label: string | number | boolean 7 | 8 | /** Value of the checkbox if it's checked */ 9 | trueLabel: string | number 10 | 11 | /** Value of the checkbox if it's not checked */ 12 | falseLabel: string | number 13 | 14 | /** Native 'name' attribute */ 15 | name: string 16 | 17 | /** If the checkbox is disabled */ 18 | disabled: boolean 19 | 20 | /** If the checkbox is checked */ 21 | checked: boolean 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/collapse-item.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export interface CollapseItemSlots { 5 | /** Content of the collapse item */ 6 | default: VNode[], 7 | 8 | /** Title of the collapse item */ 9 | title: VNode[] 10 | 11 | [key: string]: VNode[] 12 | } 13 | 14 | /** Collapse Item Component */ 15 | export declare class ElCollapseItem extends ElementUIComponent { 16 | /** Unique identification of the panel */ 17 | name: string | number 18 | 19 | /** Title of the panel */ 20 | title: string 21 | 22 | $slots: CollapseItemSlots 23 | 24 | /** Disable the collapse item */ 25 | disabled: boolean 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/service/IPlanService.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.service; 2 | 3 | import com.gdut.admission.dto.Result; 4 | import com.gdut.admission.entity.Plan; 5 | import com.baomidou.mybatisplus.extension.service.IService; 6 | import org.springframework.web.multipart.MultipartFile; 7 | 8 | /** 9 | *

10 | * 服务类 11 | *

12 | * 13 | * @author Bao 14 | * @since 2022-12-05 15 | */ 16 | public interface IPlanService extends IService { 17 | 18 | Result upload(MultipartFile file); 19 | 20 | Result index(int currentPage, int pageSize); 21 | 22 | Result updatePlan(Plan plan); 23 | 24 | Result deletePlan(Integer planId); 25 | 26 | Result addPlan(Plan plan); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/dto/Result.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.dto; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.List; 8 | 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class Result { 13 | private boolean success; 14 | private String errorMsg; 15 | private Object data; 16 | 17 | public static Result ok(){ 18 | return new Result(true, null, null); 19 | } 20 | public static Result ok(Object data){ 21 | return new Result(true, null, data); 22 | } 23 | public static Result fail(String errorMsg){ 24 | return new Result(false, errorMsg, null); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/divider.css: -------------------------------------------------------------------------------- 1 | .el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/divider.css: -------------------------------------------------------------------------------- 1 | .el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133;font-size:14px}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/checkbox-group.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** Checkbox Group Component */ 4 | export declare class ElCheckboxGroup extends ElementUIComponent { 5 | /** Size of checkbox buttons or bordered checkboxes */ 6 | size: ElementUIComponentSize 7 | 8 | /** Whether the nesting checkboxes are disabled */ 9 | disabled: boolean 10 | 11 | /** Minimum number of checkbox checked */ 12 | min: number 13 | 14 | /** Maximum number of checkbox checked */ 15 | max: number 16 | 17 | /** Font color when button is active */ 18 | textColor: string 19 | 20 | /** Border and background color when button is active */ 21 | fill: string 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/static/css/admission.css: -------------------------------------------------------------------------------- 1 | a { 2 | display: block; 3 | width: 200px; 4 | height: 52px; 5 | color: black; 6 | text-decoration: none; 7 | } 8 | 9 | .el-header { 10 | background-color: #B3C0D1; 11 | color: #333; 12 | line-height: 60px; 13 | } 14 | 15 | .el-aside { 16 | color: #333; 17 | } 18 | 19 | html, body, #app { 20 | height: 100%; 21 | margin: 0px; 22 | padding: 0px; 23 | } 24 | 25 | .el-table .warning-row { 26 | background: oldlace; 27 | } 28 | 29 | .el-table .success-row { 30 | background: #f0f9eb; 31 | } 32 | 33 | .header { 34 | display: flex; 35 | justify-content: space-between; 36 | background: #373D3F; 37 | color: white; 38 | font-weight:bold; 39 | } -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/mapper/AdmissionMapper.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.mapper; 2 | 3 | import com.gdut.admission.dto.AdmissionDto; 4 | import com.gdut.admission.entity.Admission; 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | *

11 | * Mapper 接口 12 | *

13 | * 14 | * @author Bao 15 | * @since 2022-12-06 16 | */ 17 | public interface AdmissionMapper extends BaseMapper { 18 | 19 | Admission queryProfessionMaxRank(Integer planId); 20 | 21 | Admission queryProfessionMinRank(Integer planId); 22 | 23 | Double queryProfessionAvgScore(Integer planId); 24 | 25 | List queryProfessionIdsByCollegeName(String collegeName); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/date-picker/time-range-picker.scss: -------------------------------------------------------------------------------- 1 | @import "../common/var"; 2 | 3 | @include b(time-range-picker) { 4 | width: 354px; 5 | overflow: visible; 6 | 7 | @include e(content) { 8 | position: relative; 9 | text-align: center; 10 | padding: 10px; 11 | } 12 | 13 | @include e(cell) { 14 | box-sizing: border-box; 15 | margin: 0; 16 | padding: 4px 7px 7px; 17 | width: 50%; 18 | display: inline-block; 19 | } 20 | 21 | @include e(header) { 22 | margin-bottom: 5px; 23 | text-align: center; 24 | font-size: 14px; 25 | } 26 | 27 | @include e(body) { 28 | border-radius:2px; 29 | border: 1px solid $--datepicker-border-color; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/directives/repeat-click.js: -------------------------------------------------------------------------------- 1 | import { once, on } from 'element-ui/src/utils/dom'; 2 | 3 | export default { 4 | bind(el, binding, vnode) { 5 | let interval = null; 6 | let startTime; 7 | const handler = () => vnode.context[binding.expression].apply(); 8 | const clear = () => { 9 | if (Date.now() - startTime < 100) { 10 | handler(); 11 | } 12 | clearInterval(interval); 13 | interval = null; 14 | }; 15 | 16 | on(el, 'mousedown', (e) => { 17 | if (e.button !== 0) return; 18 | startTime = Date.now(); 19 | once(document, 'mouseup', clear); 20 | clearInterval(interval); 21 | interval = setInterval(handler, 100); 22 | }); 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/timeline/src/main.vue: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/types.js: -------------------------------------------------------------------------------- 1 | export function isString(obj) { 2 | return Object.prototype.toString.call(obj) === '[object String]'; 3 | } 4 | 5 | export function isObject(obj) { 6 | return Object.prototype.toString.call(obj) === '[object Object]'; 7 | } 8 | 9 | export function isHtmlElement(node) { 10 | return node && node.nodeType === Node.ELEMENT_NODE; 11 | } 12 | 13 | export const isFunction = (functionToCheck) => { 14 | var getType = {}; 15 | return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; 16 | }; 17 | 18 | export const isUndefined = (val)=> { 19 | return val === void 0; 20 | }; 21 | 22 | export const isDefined = (val) => { 23 | return val !== undefined && val !== null; 24 | }; 25 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/popconfirm.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | import { ElPopover } from './popover' 3 | 4 | /** Popconfirm Component */ 5 | export declare class ElPopconfirm extends ElPopover { 6 | /** Popconfirm title */ 7 | title: string 8 | 9 | /** Popconfirm ok text */ 10 | confirmButtonText: string 11 | 12 | /** Popconfirm cancel text */ 13 | cancelButtonText: string 14 | 15 | /** Popconfirm ok type */ 16 | confirmButtonType: string 17 | 18 | /** Popconfirm cancal type */ 19 | cancelButtonType: string 20 | 21 | /** Popconfirm icon */ 22 | icon: string 23 | 24 | /** Popconfirm icon color */ 25 | iconColor: string 26 | 27 | /** Popconfirm hide icon */ 28 | hideIcon: boolean 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/mapper/StuMapper.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.mapper; 2 | 3 | import com.gdut.admission.dto.AdmissionStuDto; 4 | import com.gdut.admission.entity.Stu; 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.apache.ibatis.annotations.Param; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | *

12 | * Mapper 接口 13 | *

14 | * 15 | * @author Bao 16 | * @since 2022-12-05 17 | */ 18 | public interface StuMapper extends BaseMapper { 19 | 20 | List getStuByParams(@Param("admissionStuDto") AdmissionStuDto admissionStuDto, @Param("startIndex") int startIndex, @Param("pageSize") int pageSize); 21 | 22 | int getStuCountByParams(@Param("admissionStuDto")AdmissionStuDto admissionStuDto); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/menu/aria-menubar.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _ariaMenuitem = require('./aria-menuitem'); 6 | 7 | var _ariaMenuitem2 = _interopRequireDefault(_ariaMenuitem); 8 | 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 10 | 11 | var Menu = function Menu(domNode) { 12 | this.domNode = domNode; 13 | this.init(); 14 | }; 15 | 16 | Menu.prototype.init = function () { 17 | var menuChildren = this.domNode.childNodes; 18 | [].filter.call(menuChildren, function (child) { 19 | return child.nodeType === 1; 20 | }).forEach(function (child) { 21 | new _ariaMenuitem2.default(child); // eslint-disable-line 22 | }); 23 | }; 24 | exports.default = Menu; -------------------------------------------------------------------------------- /src/main/resources/static/css/index.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | a { 7 | display: block; 8 | width: 200px; 9 | height: 52px; 10 | color: black; 11 | text-decoration: none; 12 | } 13 | 14 | .el-header { 15 | background-color: #B3C0D1; 16 | color: #333; 17 | line-height: 60px; 18 | } 19 | 20 | .el-aside { 21 | color: #333; 22 | } 23 | 24 | html, body, #app { 25 | height: 100%; 26 | margin: 0px; 27 | padding: 0px; 28 | } 29 | 30 | .el-table .warning-row { 31 | background: oldlace; 32 | } 33 | 34 | .el-table .success-row { 35 | background: #f0f9eb; 36 | } 37 | 38 | .header { 39 | display: flex; 40 | justify-content: space-between; 41 | background: #373D3F; 42 | color: white; 43 | font-weight:bold; 44 | } -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/spinner/src/spinner.vue: -------------------------------------------------------------------------------- 1 | 8 | 28 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/common/popup.scss: -------------------------------------------------------------------------------- 1 | @import "./var.scss"; 2 | @import "../mixins/mixins"; 3 | 4 | .v-modal-enter { 5 | animation: v-modal-in .2s ease; 6 | } 7 | 8 | .v-modal-leave { 9 | animation: v-modal-out .2s ease forwards; 10 | } 11 | 12 | @keyframes v-modal-in { 13 | 0% { 14 | opacity: 0; 15 | } 16 | 100% { 17 | } 18 | } 19 | 20 | @keyframes v-modal-out { 21 | 0% { 22 | } 23 | 100% { 24 | opacity: 0; 25 | } 26 | } 27 | 28 | .v-modal { 29 | position: fixed; 30 | left: 0; 31 | top: 0; 32 | width: 100%; 33 | height: 100%; 34 | opacity: $--popup-modal-opacity; 35 | background: $--popup-modal-background-color; 36 | } 37 | 38 | @include b(popup-parent) { 39 | @include m(hidden) { 40 | overflow: hidden; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/page-header/src/main.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 31 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/tag.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | export type TagType = 'primary' | 'gray' | 'success' | 'warning' | 'danger' 4 | export type TagTheme = 'dark' | 'light' | 'plain' 5 | 6 | /** Tag Component */ 7 | export declare class ElTag extends ElementUIComponent { 8 | /** Tag type */ 9 | type: TagType 10 | 11 | /** Whether Tab can be removed */ 12 | closable: boolean 13 | 14 | /** Whether the removal animation is disabled */ 15 | disableTransitions: boolean 16 | 17 | /** Whether Tag has a highlighted border */ 18 | hit: boolean 19 | 20 | /** Background color of the tag */ 21 | color: string 22 | 23 | /** Tag size */ 24 | size: ElementUIComponentSize 25 | 26 | /** Tag theme */ 27 | effect: TagTheme 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/table/src/dropdown.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | var dropdowns = []; 3 | 4 | !Vue.prototype.$isServer && document.addEventListener('click', function(event) { 5 | dropdowns.forEach(function(dropdown) { 6 | var target = event.target; 7 | if (!dropdown || !dropdown.$el) return; 8 | if (target === dropdown.$el || dropdown.$el.contains(target)) { 9 | return; 10 | } 11 | dropdown.handleOutsideClick && dropdown.handleOutsideClick(event); 12 | }); 13 | }); 14 | 15 | export default { 16 | open(instance) { 17 | if (instance) { 18 | dropdowns.push(instance); 19 | } 20 | }, 21 | 22 | close(instance) { 23 | var index = dropdowns.indexOf(instance); 24 | if (index !== -1) { 25 | dropdowns.splice(instance, 1); 26 | } 27 | } 28 | }; 29 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#409EFF;text-decoration:none}a:focus,a:hover{color:#66b1ff}a:active{color:#3a8ee6}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/row.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Horizontal alignment of flex layout */ 4 | export type HorizontalAlignment = 'start' | 'end' | 'center' | 'space-around' | 'space-between' 5 | 6 | /** vertical alignment of flex layout */ 7 | export type VertialAlignment = 'top' | 'middle' | 'bottom' 8 | 9 | /** Row Layout Component */ 10 | export declare class ElRow extends ElementUIComponent { 11 | /** Grid spacing */ 12 | gutter: number 13 | 14 | /** Layout mode. You can use flex. Works in modern browsers */ 15 | type: string 16 | 17 | /** Horizontal alignment of flex layout */ 18 | justify: HorizontalAlignment 19 | 20 | /** Vertical alignment of flex layout */ 21 | align: VertialAlignment 22 | 23 | /** Custom element tag */ 24 | tag: string 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/breadcrumb/src/breadcrumb.vue: -------------------------------------------------------------------------------- 1 | 6 | 35 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/reset.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8";body{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;font-weight:400;font-size:14px;color:#000;-webkit-font-smoothing:antialiased}a{color:#409EFF;text-decoration:none}a:focus,a:hover{color:#66b1ff}a:active{color:#3a8ee6}h1,h2,h3,h4,h5,h6{color:#606266;font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,p:last-child{margin-bottom:0}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}sub,sup{font-size:13px}small{font-size:12px}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/alert.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type AlertType = 'success' | 'warning' | 'info' | 'error' 4 | export type AlertEffect = 'dark' | 'light' 5 | 6 | /** Alert Component */ 7 | export declare class ElAlert extends ElementUIComponent { 8 | /** Title */ 9 | title: string 10 | 11 | /** Component type */ 12 | type: AlertType 13 | 14 | /** Descriptive text. Can also be passed with the default slot */ 15 | description: string 16 | 17 | /** If closable or not */ 18 | closable: boolean 19 | 20 | /** whether to center the text */ 21 | center: boolean 22 | 23 | /** Customized close button text */ 24 | closeText: string 25 | 26 | /** If a type icon is displayed */ 27 | showIcon: boolean 28 | 29 | /** Choose effect */ 30 | effect: AlertEffect 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/tree/src/model/util.js: -------------------------------------------------------------------------------- 1 | export const NODE_KEY = '$treeNodeId'; 2 | 3 | export const markNodeData = function(node, data) { 4 | if (!data || data[NODE_KEY]) return; 5 | Object.defineProperty(data, NODE_KEY, { 6 | value: node.id, 7 | enumerable: false, 8 | configurable: false, 9 | writable: false 10 | }); 11 | }; 12 | 13 | export const getNodeKey = function(key, data) { 14 | if (!key) return data[NODE_KEY]; 15 | return data[key]; 16 | }; 17 | 18 | export const findNearestComponent = (element, componentName) => { 19 | let target = element; 20 | while (target && target.tagName !== 'BODY') { 21 | if (target.__vue__ && target.__vue__.$options.name === componentName) { 22 | return target.__vue__; 23 | } 24 | target = target.parentNode; 25 | } 26 | return null; 27 | }; 28 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/badge.css: -------------------------------------------------------------------------------- 1 | .el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/card.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(card) { 5 | border-radius: $--card-border-radius; 6 | border: 1px solid $--card-border-color; 7 | background-color: $--color-white; 8 | overflow: hidden; 9 | color: $--color-text-primary; 10 | transition: 0.3s; 11 | 12 | @include when(always-shadow) { 13 | box-shadow: $--box-shadow-light; 14 | } 15 | 16 | @include when(hover-shadow) { 17 | &:hover, 18 | &:focus { 19 | box-shadow: $--box-shadow-light; 20 | } 21 | } 22 | 23 | @include e(header) { 24 | padding: #{$--card-padding - 2 $--card-padding}; 25 | border-bottom: 1px solid $--card-border-color; 26 | box-sizing: border-box; 27 | } 28 | 29 | @include e(body) { 30 | padding: $--card-padding; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/mixins/utils.scss: -------------------------------------------------------------------------------- 1 | @mixin utils-user-select($value) { 2 | -moz-user-select: $value; 3 | -webkit-user-select: $value; 4 | -ms-user-select: $value; 5 | } 6 | 7 | @mixin utils-clearfix { 8 | $selector: &; 9 | 10 | @at-root { 11 | #{$selector}::before, 12 | #{$selector}::after { 13 | display: table; 14 | content: ""; 15 | } 16 | #{$selector}::after { 17 | clear: both 18 | } 19 | } 20 | } 21 | 22 | @mixin utils-vertical-center { 23 | $selector: &; 24 | 25 | @at-root { 26 | #{$selector}::after { 27 | display: inline-block; 28 | content: ""; 29 | height: 100%; 30 | vertical-align: middle 31 | } 32 | } 33 | } 34 | 35 | @mixin utils-ellipsis { 36 | overflow: hidden; 37 | text-overflow: ellipsis; 38 | white-space: nowrap; 39 | } -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/badge.css: -------------------------------------------------------------------------------- 1 | .el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#F56C6C;border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/step.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export type StepStatus = 'wait' | 'process' | 'finish' | 'error' | 'success' 5 | 6 | export interface StepRenderSlots { 7 | /** Custom icon */ 8 | icon: VNode[], 9 | 10 | /** Step title */ 11 | title: VNode[], 12 | 13 | /** Step description */ 14 | description: VNode[], 15 | 16 | [key: string]: VNode[] 17 | } 18 | 19 | /** Step Component */ 20 | export declare class ElStep extends ElementUIComponent { 21 | /** Step title */ 22 | title: string 23 | 24 | /** Step description */ 25 | description: string 26 | 27 | /** Step icon */ 28 | icon: string 29 | 30 | /** Current status. It will be automatically set by Steps if not configured. */ 31 | status: StepStatus 32 | 33 | readonly $slots: StepRenderSlots 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/time-select.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "./date-picker/picker.scss"; 3 | @import "./date-picker/date-picker.scss"; 4 | @import "./scrollbar.scss"; 5 | @import "./popper"; 6 | 7 | .time-select { 8 | margin: 5px 0; 9 | min-width: 0; 10 | } 11 | 12 | .time-select .el-picker-panel__content { 13 | max-height: 200px; 14 | margin: 0; 15 | } 16 | 17 | .time-select-item { 18 | padding: 8px 10px; 19 | font-size: 14px; 20 | line-height: 20px; 21 | } 22 | 23 | .time-select-item.selected:not(.disabled) { 24 | color: $--color-primary; 25 | font-weight: bold; 26 | } 27 | 28 | .time-select-item.disabled { 29 | color: $--datepicker-border-color; 30 | cursor: not-allowed; 31 | } 32 | 33 | .time-select-item:hover { 34 | background-color: $--background-color-base; 35 | font-weight: bold; 36 | cursor: pointer; 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/row.css: -------------------------------------------------------------------------------- 1 | .el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/directives/repeat-click.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _dom = require('element-ui/lib/utils/dom'); 6 | 7 | exports.default = { 8 | bind: function bind(el, binding, vnode) { 9 | var interval = null; 10 | var startTime = void 0; 11 | var handler = function handler() { 12 | return vnode.context[binding.expression].apply(); 13 | }; 14 | var clear = function clear() { 15 | if (Date.now() - startTime < 100) { 16 | handler(); 17 | } 18 | clearInterval(interval); 19 | interval = null; 20 | }; 21 | 22 | (0, _dom.on)(el, 'mousedown', function (e) { 23 | if (e.button !== 0) return; 24 | startTime = Date.now(); 25 | (0, _dom.once)(document, 'mouseup', clear); 26 | clearInterval(interval); 27 | interval = setInterval(handler, 100); 28 | }); 29 | } 30 | }; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/row.css: -------------------------------------------------------------------------------- 1 | .el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table;content:""}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end} -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/entity/Admission.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.entity; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableId; 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import java.io.Serializable; 7 | import lombok.Data; 8 | import lombok.EqualsAndHashCode; 9 | 10 | /** 11 | *

12 | * 13 | *

14 | * 15 | * @author Bao 16 | * @since 2022-12-06 17 | */ 18 | @Data 19 | @EqualsAndHashCode(callSuper = false) 20 | @TableName("t_admission") 21 | public class Admission implements Serializable { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | @TableId(value = "id", type = IdType.AUTO) 26 | private Long id; 27 | 28 | /** 29 | * 学生id 30 | */ 31 | private Long stuId; 32 | 33 | /** 34 | * 专业代号 35 | */ 36 | private Integer planId; 37 | 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/spinner.css: -------------------------------------------------------------------------------- 1 | .el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/scrollbar/src/util.js: -------------------------------------------------------------------------------- 1 | export const BAR_MAP = { 2 | vertical: { 3 | offset: 'offsetHeight', 4 | scroll: 'scrollTop', 5 | scrollSize: 'scrollHeight', 6 | size: 'height', 7 | key: 'vertical', 8 | axis: 'Y', 9 | client: 'clientY', 10 | direction: 'top' 11 | }, 12 | horizontal: { 13 | offset: 'offsetWidth', 14 | scroll: 'scrollLeft', 15 | scrollSize: 'scrollWidth', 16 | size: 'width', 17 | key: 'horizontal', 18 | axis: 'X', 19 | client: 'clientX', 20 | direction: 'left' 21 | } 22 | }; 23 | 24 | export function renderThumbStyle({ move, size, bar }) { 25 | const style = {}; 26 | const translate = `translate${bar.axis}(${ move }%)`; 27 | 28 | style[bar.size] = size; 29 | style.transform = translate; 30 | style.msTransform = translate; 31 | style.webkitTransform = translate; 32 | 33 | return style; 34 | }; 35 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/spinner.css: -------------------------------------------------------------------------------- 1 | .el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/dropdown/src/dropdown-item.vue: -------------------------------------------------------------------------------- 1 | 16 | 38 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/spinner.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | 3 | @include b(time-spinner) { 4 | width: 100%; 5 | white-space: nowrap; 6 | } 7 | 8 | @include b(spinner) { 9 | display: inline-block; 10 | vertical-align: middle; 11 | } 12 | @include b(spinner-inner) { 13 | animation: rotate 2s linear infinite; 14 | width: 50px; 15 | height: 50px; 16 | 17 | & .path { 18 | stroke: #ececec; 19 | stroke-linecap: round; 20 | animation: dash 1.5s ease-in-out infinite; 21 | } 22 | 23 | } 24 | 25 | @keyframes rotate { 26 | 100% { 27 | transform: rotate(360deg); 28 | } 29 | } 30 | 31 | @keyframes dash { 32 | 0% { 33 | stroke-dasharray: 1, 150; 34 | stroke-dashoffset: 0; 35 | } 36 | 50% { 37 | stroke-dasharray: 90, 150; 38 | stroke-dashoffset: -35; 39 | } 40 | 100% { 41 | stroke-dasharray: 90, 150; 42 | stroke-dashoffset: -124; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/container/src/main.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 34 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/directives/mousewheel.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | var _normalizeWheel = require('normalize-wheel'); 6 | 7 | var _normalizeWheel2 = _interopRequireDefault(_normalizeWheel); 8 | 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 10 | 11 | var isFirefox = typeof navigator !== 'undefined' && navigator.userAgent.toLowerCase().indexOf('firefox') > -1; 12 | 13 | var mousewheel = function mousewheel(element, callback) { 14 | if (element && element.addEventListener) { 15 | element.addEventListener(isFirefox ? 'DOMMouseScroll' : 'mousewheel', function (event) { 16 | var normalized = (0, _normalizeWheel2.default)(event); 17 | callback && callback.apply(this, [event, normalized]); 18 | }); 19 | } 20 | }; 21 | 22 | exports.default = { 23 | bind: function bind(el, binding) { 24 | mousewheel(el, binding.value); 25 | } 26 | }; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/row.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "mixins/mixins"; 3 | @import "mixins/utils"; 4 | 5 | @include b(row) { 6 | position: relative; 7 | box-sizing: border-box; 8 | @include utils-clearfix; 9 | 10 | @include m(flex) { 11 | display: flex; 12 | &:before, 13 | &:after { 14 | display: none; 15 | } 16 | 17 | @include when(justify-center) { 18 | justify-content: center; 19 | } 20 | @include when(justify-end) { 21 | justify-content: flex-end; 22 | } 23 | @include when(justify-space-between) { 24 | justify-content: space-between; 25 | } 26 | @include when(justify-space-around) { 27 | justify-content: space-around; 28 | } 29 | 30 | @include when(align-middle) { 31 | align-items: center; 32 | } 33 | @include when(align-bottom) { 34 | align-items: flex-end; 35 | } 36 | } 37 | 38 | } 39 | 40 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/page-header.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(page-header) { 5 | display: flex; 6 | line-height: 24px; 7 | 8 | @include e(left) { 9 | display: flex; 10 | cursor: pointer; 11 | margin-right: 40px; 12 | position: relative; 13 | 14 | &::after { 15 | content: ""; 16 | position: absolute; 17 | width: 1px; 18 | height: 16px; 19 | right: -20px; 20 | top: 50%; 21 | transform: translateY(-50%); 22 | background-color: $--border-color-base; 23 | } 24 | 25 | .el-icon-back { 26 | font-size: 18px; 27 | margin-right: 6px; 28 | align-self: center; 29 | } 30 | 31 | @include e(title) { 32 | font-size: 14px; 33 | font-weight: 500; 34 | } 35 | } 36 | 37 | @include e(content) { 38 | font-size: 18px; 39 | color: $--color-text-primary; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/scrollbar-width.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | let scrollBarWidth; 4 | 5 | export default function() { 6 | if (Vue.prototype.$isServer) return 0; 7 | if (scrollBarWidth !== undefined) return scrollBarWidth; 8 | 9 | const outer = document.createElement('div'); 10 | outer.className = 'el-scrollbar__wrap'; 11 | outer.style.visibility = 'hidden'; 12 | outer.style.width = '100px'; 13 | outer.style.position = 'absolute'; 14 | outer.style.top = '-9999px'; 15 | document.body.appendChild(outer); 16 | 17 | const widthNoScroll = outer.offsetWidth; 18 | outer.style.overflow = 'scroll'; 19 | 20 | const inner = document.createElement('div'); 21 | inner.style.width = '100%'; 22 | outer.appendChild(inner); 23 | 24 | const widthWithScroll = inner.offsetWidth; 25 | outer.parentNode.removeChild(outer); 26 | scrollBarWidth = widthNoScroll - widthWithScroll; 27 | 28 | return scrollBarWidth; 29 | }; 30 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/types.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports.isString = isString; 5 | exports.isObject = isObject; 6 | exports.isHtmlElement = isHtmlElement; 7 | function isString(obj) { 8 | return Object.prototype.toString.call(obj) === '[object String]'; 9 | } 10 | 11 | function isObject(obj) { 12 | return Object.prototype.toString.call(obj) === '[object Object]'; 13 | } 14 | 15 | function isHtmlElement(node) { 16 | return node && node.nodeType === Node.ELEMENT_NODE; 17 | } 18 | 19 | var isFunction = exports.isFunction = function isFunction(functionToCheck) { 20 | var getType = {}; 21 | return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; 22 | }; 23 | 24 | var isUndefined = exports.isUndefined = function isUndefined(val) { 25 | return val === void 0; 26 | }; 27 | 28 | var isDefined = exports.isDefined = function isDefined(val) { 29 | return val !== undefined && val !== null; 30 | }; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/divider/src/main.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 38 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/scroll-into-view.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | 3 | export default function scrollIntoView(container, selected) { 4 | if (Vue.prototype.$isServer) return; 5 | 6 | if (!selected) { 7 | container.scrollTop = 0; 8 | return; 9 | } 10 | 11 | const offsetParents = []; 12 | let pointer = selected.offsetParent; 13 | while (pointer && container !== pointer && container.contains(pointer)) { 14 | offsetParents.push(pointer); 15 | pointer = pointer.offsetParent; 16 | } 17 | const top = selected.offsetTop + offsetParents.reduce((prev, curr) => (prev + curr.offsetTop), 0); 18 | const bottom = top + selected.offsetHeight; 19 | const viewRectTop = container.scrollTop; 20 | const viewRectBottom = viewRectTop + container.clientHeight; 21 | 22 | if (top < viewRectTop) { 23 | container.scrollTop = top; 24 | } else if (bottom > viewRectBottom) { 25 | container.scrollTop = bottom - container.clientHeight; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | datasource: 3 | username: root 4 | password: click. 5 | url: jdbc:mysql://localhost:3306/admission?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai 6 | driver-class-name: com.mysql.cj.jdbc.Driver 7 | mvc: 8 | pathmatch: 9 | matching-strategy: ANT-PATH-MATCHER 10 | banner: 11 | location: classpath:banner/banner.txt 12 | servlet: 13 | multipart: 14 | max-file-size: 5MB # 文件上传大小限制,设置最大值,不能超过该值,否则报错 15 | # max-file-size: 500KB # 文件上传大小限制,设置最大值,不能超过该值,否则报错 16 | max-request-size: 5MB # 文件最大请求限制,用于批量上传 17 | # max-request-size: 500KB 18 | 19 | server: 20 | tomcat: 21 | uri-encoding: utf-8 22 | max-swallow-size: -1 # tomcat 默认大小2M, 超过2M的文件不会被捕获, 需要调整此处大小为100MB或者-1即可 23 | #logging: 24 | # level: 25 | # com.gdut: debug 26 | 27 | #打印sql语句 28 | #mybatis-plus: 29 | # configuration: 30 | # log-impl: 31 | # org.apache.ibatis.logging.stdout.StdOutImpl -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/option-group.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(select-group) { 5 | $gap: 20px; 6 | 7 | margin: 0; 8 | padding: 0; 9 | 10 | @include e(wrap) { 11 | position: relative; 12 | list-style: none; 13 | margin: 0; 14 | padding: 0; 15 | 16 | &:not(:last-of-type) { 17 | padding-bottom: 24px; 18 | 19 | &::after { 20 | content: ''; 21 | position: absolute; 22 | display: block; 23 | left: $gap; 24 | right: $gap; 25 | bottom: 12px; 26 | height: 1px; 27 | background: $--border-color-light; 28 | } 29 | } 30 | } 31 | 32 | @include e(title) { 33 | padding-left: $gap; 34 | font-size: $--select-group-font-size; 35 | color: $--select-group-color; 36 | line-height: $--select-group-height; 37 | } 38 | 39 | & .el-select-dropdown__item { 40 | padding-left: $gap; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/display.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width:767px){.hidden-xs-only{display:none!important}}@media only screen and (min-width:768px){.hidden-sm-and-up{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.hidden-sm-only{display:none!important}}@media only screen and (max-width:991px){.hidden-sm-and-down{display:none!important}}@media only screen and (min-width:992px){.hidden-md-and-up{display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.hidden-md-only{display:none!important}}@media only screen and (max-width:1199px){.hidden-md-and-down{display:none!important}}@media only screen and (min-width:1200px){.hidden-lg-and-up{display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.hidden-lg-only{display:none!important}}@media only screen and (max-width:1919px){.hidden-lg-and-down{display:none!important}}@media only screen and (min-width:1920px){.hidden-xl-only{display:none!important}} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/option.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(select-dropdown) { 5 | @include e(item) { 6 | font-size: $--select-font-size; 7 | padding: 0 20px; 8 | position: relative; 9 | white-space: nowrap; 10 | overflow: hidden; 11 | text-overflow: ellipsis; 12 | color: $--select-option-color; 13 | height: $--select-option-height; 14 | line-height: $--select-option-height; 15 | box-sizing: border-box; 16 | cursor: pointer; 17 | 18 | @include when(disabled) { 19 | color: $--select-option-disabled-color; 20 | cursor: not-allowed; 21 | 22 | &:hover { 23 | background-color: $--color-white; 24 | } 25 | } 26 | 27 | &.hover, &:hover { 28 | background-color: $--select-option-hover-background; 29 | } 30 | 31 | &.selected { 32 | color: $--select-option-selected-font-color; 33 | font-weight: bold; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/steps.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | import { StepStatus } from './step' 3 | 4 | export type StepsDirection = 'vertical' | 'horizontal' 5 | 6 | /** Guide the user to complete tasks in accordance with the process. Its steps can be set according to the actual application scenario and the number of the steps can't be less than 2. */ 7 | export declare class ElSteps extends ElementUIComponent { 8 | /** The spacing of each step, will be responsive if omitted. Support percentage. */ 9 | space: number | string 10 | 11 | /** Display direction */ 12 | direction: StepsDirection 13 | 14 | /** Current activation step */ 15 | active: number 16 | 17 | /** Status of current step */ 18 | processStatus: StepStatus 19 | 20 | /** Status of end step */ 21 | finishStatus: StepStatus 22 | 23 | /** Whether step description is centered */ 24 | alignCenter: boolean 25 | 26 | /** Whether to apply simple theme */ 27 | simple: boolean 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/display.css: -------------------------------------------------------------------------------- 1 | @media only screen and (max-width:767px){.hidden-xs-only{display:none!important}}@media only screen and (min-width:768px){.hidden-sm-and-up{display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.hidden-sm-only{display:none!important}}@media only screen and (max-width:991px){.hidden-sm-and-down{display:none!important}}@media only screen and (min-width:992px){.hidden-md-and-up{display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.hidden-md-only{display:none!important}}@media only screen and (max-width:1199px){.hidden-md-and-down{display:none!important}}@media only screen and (min-width:1200px){.hidden-lg-and-up{display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.hidden-lg-only{display:none!important}}@media only screen and (max-width:1919px){.hidden-lg-and-down{display:none!important}}@media only screen and (min-width:1920px){.hidden-xl-only{display:none!important}} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/breadcrumb.css: -------------------------------------------------------------------------------- 1 | .el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/breadcrumb.css: -------------------------------------------------------------------------------- 1 | .el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/date-picker/src/picker/time-picker.js: -------------------------------------------------------------------------------- 1 | import Picker from '../picker'; 2 | import TimePanel from '../panel/time'; 3 | import TimeRangePanel from '../panel/time-range'; 4 | 5 | export default { 6 | mixins: [Picker], 7 | 8 | name: 'ElTimePicker', 9 | 10 | props: { 11 | isRange: Boolean, 12 | arrowControl: Boolean 13 | }, 14 | 15 | data() { 16 | return { 17 | type: '' 18 | }; 19 | }, 20 | 21 | watch: { 22 | isRange(isRange) { 23 | if (this.picker) { 24 | this.unmountPicker(); 25 | this.type = isRange ? 'timerange' : 'time'; 26 | this.panel = isRange ? TimeRangePanel : TimePanel; 27 | this.mountPicker(); 28 | } else { 29 | this.type = isRange ? 'timerange' : 'time'; 30 | this.panel = isRange ? TimeRangePanel : TimePanel; 31 | } 32 | } 33 | }, 34 | 35 | created() { 36 | this.type = this.isRange ? 'timerange' : 'time'; 37 | this.panel = this.isRange ? TimeRangePanel : TimePanel; 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/after-leave.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers. 3 | * 4 | * @param {Vue} instance Vue instance. 5 | * @param {Function} callback callback of after-leave event 6 | * @param {Number} speed the speed of transition, default value is 300ms 7 | * @param {Boolean} once weather bind after-leave once. default value is false. 8 | */ 9 | export default function(instance, callback, speed = 300, once = false) { 10 | if (!instance || !callback) throw new Error('instance & callback is required'); 11 | let called = false; 12 | const afterLeaveCallback = function() { 13 | if (called) return; 14 | called = true; 15 | if (callback) { 16 | callback.apply(null, arguments); 17 | } 18 | }; 19 | if (once) { 20 | instance.$once('after-leave', afterLeaveCallback); 21 | } else { 22 | instance.$on('after-leave', afterLeaveCallback); 23 | } 24 | setTimeout(() => { 25 | afterLeaveCallback(); 26 | }, speed + 100); 27 | }; 28 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/service/IStuService.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.service; 2 | 3 | import com.gdut.admission.dto.AdmissionStuDto; 4 | import com.gdut.admission.dto.Result; 5 | import com.gdut.admission.entity.Stu; 6 | import com.baomidou.mybatisplus.extension.service.IService; 7 | import org.springframework.web.multipart.MultipartFile; 8 | 9 | import java.util.Collection; 10 | import java.util.List; 11 | 12 | /** 13 | *

14 | * 服务类 15 | *

16 | * 17 | * @author Bao 18 | * @since 2022-12-05 19 | */ 20 | public interface IStuService extends IService { 21 | 22 | Result upload(MultipartFile file); 23 | 24 | Result index(int currentPage, int pageSize); 25 | 26 | Result updateStu(Stu stu); 27 | 28 | Result deleteStu(Integer stuId); 29 | 30 | List backData(); 31 | 32 | List getAdStuByParams(AdmissionStuDto admissionStuDto, int currentPage, int pageSize); 33 | 34 | Result addStu(Stu stu); 35 | 36 | int getAdStuCountByParams(AdmissionStuDto admissionStuDto); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/carousel-item.css: -------------------------------------------------------------------------------- 1 | .el-carousel__item,.el-carousel__mask{position:absolute;height:100%;top:0;left:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/carousel-item.css: -------------------------------------------------------------------------------- 1 | .el-carousel__item,.el-carousel__mask{position:absolute;height:100%;top:0;left:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/checkbox.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** Checkbox Component */ 4 | export declare class ElCheckbox extends ElementUIComponent { 5 | /** The form input value */ 6 | value: string | string[] 7 | 8 | /** Value of the checkbox when used inside a checkbox-group */ 9 | label: string | number | boolean 10 | 11 | /** Value of the checkbox if it's checked */ 12 | trueLabel: string | number 13 | 14 | /** Value of the checkbox if it's not checked */ 15 | falseLabel: string | number 16 | 17 | /** Native 'name' attribute */ 18 | name: string 19 | 20 | /** Whether to add a border around Checkbox */ 21 | border: boolean 22 | 23 | /** Size of the Checkbox, only works when border is true */ 24 | size: ElementUIComponentSize 25 | 26 | /** If the checkbox is disabled */ 27 | disabled: boolean 28 | 29 | /** If the checkbox is checked */ 30 | checked: boolean 31 | 32 | /** Same as indeterminate in native checkbox */ 33 | indeterminate: boolean 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/gdut/admission/service/IAdmissionService.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission.service; 2 | 3 | import com.gdut.admission.dto.AdmissionStuDto; 4 | import com.gdut.admission.dto.Result; 5 | import com.gdut.admission.entity.Admission; 6 | import com.baomidou.mybatisplus.extension.service.IService; 7 | import com.gdut.admission.entity.Stu; 8 | 9 | import java.util.Collection; 10 | import java.util.List; 11 | 12 | /** 13 | *

14 | * 服务类 15 | *

16 | * 17 | * @author Bao 18 | * @since 2022-12-06 19 | */ 20 | public interface IAdmissionService extends IService { 21 | 22 | Result admission(); 23 | 24 | Result professionIndex(int currentPage, int pageSize); 25 | 26 | Result collegeIndex(int currentPage, int pageSize); 27 | 28 | Result schoolIndex(); 29 | 30 | Result backIndex(int currentPage, int pageSize); 31 | 32 | Result getStuAdmissionByParams(AdmissionStuDto admissionStuDto, int currentPage, int pageSize); 33 | 34 | Result getTheBestStus(AdmissionStuDto admissionStuDto, int currentPage, int pageSize); 35 | } 36 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/tabs.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type TabType = 'card' | 'border-card' 4 | export type TabPosition = 'top' | 'right' | 'bottom' | 'left' 5 | 6 | /** Divide data collections which are related yet belong to different types */ 7 | export declare class ElTabs extends ElementUIComponent { 8 | /** Type of Tab */ 9 | type: TabType 10 | 11 | /** Whether Tab is closable */ 12 | closable: boolean 13 | 14 | /** Whether Tab is addable */ 15 | addable: boolean 16 | 17 | /** Whether Tab is addable and closable */ 18 | editable: boolean 19 | 20 | /** Name of the selected tab */ 21 | value: string 22 | 23 | /** Position of tabs */ 24 | tabPosition: TabPosition 25 | 26 | /** Whether width of tab automatically fits its container */ 27 | stretch: Boolean 28 | 29 | /** Hook function before switching tab. If false or a Promise is returned and then is rejected, switching will be prevented */ 30 | beforeLeave: (activeName: string, oldActiveName: string) => boolean | Promise 31 | } 32 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/row/src/row.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'ElRow', 3 | 4 | componentName: 'ElRow', 5 | 6 | props: { 7 | tag: { 8 | type: String, 9 | default: 'div' 10 | }, 11 | gutter: Number, 12 | type: String, 13 | justify: { 14 | type: String, 15 | default: 'start' 16 | }, 17 | align: { 18 | type: String, 19 | default: 'top' 20 | } 21 | }, 22 | 23 | computed: { 24 | style() { 25 | const ret = {}; 26 | 27 | if (this.gutter) { 28 | ret.marginLeft = `-${this.gutter / 2}px`; 29 | ret.marginRight = ret.marginLeft; 30 | } 31 | 32 | return ret; 33 | } 34 | }, 35 | 36 | render(h) { 37 | return h(this.tag, { 38 | class: [ 39 | 'el-row', 40 | this.justify !== 'start' ? `is-justify-${this.justify}` : '', 41 | this.align !== 'top' ? `is-align-${this.align}` : '', 42 | { 'el-row--flex': this.type === 'flex' } 43 | ], 44 | style: this.style 45 | }, this.$slots.default); 46 | } 47 | }; 48 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/popover.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | @import "./popper"; 4 | 5 | @include b(popover) { 6 | position: absolute; 7 | background: $--popover-background-color; 8 | min-width: 150px; 9 | border-radius: 4px; 10 | border: 1px solid $--popover-border-color; 11 | padding: $--popover-padding; 12 | z-index: $--index-popper; 13 | color: $--color-text-regular; 14 | line-height: 1.4; 15 | text-align: justify; 16 | font-size: $--popover-font-size; 17 | box-shadow: $--box-shadow-light; 18 | word-break: break-all; 19 | 20 | @include m(plain) { 21 | padding: $--popover-padding-large; 22 | } 23 | 24 | @include e(title) { 25 | color: $--popover-title-font-color; 26 | font-size: $--popover-title-font-size; 27 | line-height: 1; 28 | margin-bottom: 12px; 29 | } 30 | 31 | @include e(reference) { 32 | &:focus:not(.focusing), &:focus:hover { 33 | outline-width: 0; 34 | } 35 | } 36 | 37 | &:focus:active, &:focus { 38 | outline-width: 0; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/date-picker/src/picker/date-picker.js: -------------------------------------------------------------------------------- 1 | import Picker from '../picker'; 2 | import DatePanel from '../panel/date'; 3 | import DateRangePanel from '../panel/date-range'; 4 | import MonthRangePanel from '../panel/month-range'; 5 | 6 | const getPanel = function(type) { 7 | if (type === 'daterange' || type === 'datetimerange') { 8 | return DateRangePanel; 9 | } else if (type === 'monthrange') { 10 | return MonthRangePanel; 11 | } 12 | return DatePanel; 13 | }; 14 | 15 | export default { 16 | mixins: [Picker], 17 | 18 | name: 'ElDatePicker', 19 | 20 | props: { 21 | type: { 22 | type: String, 23 | default: 'date' 24 | }, 25 | timeArrowControl: Boolean 26 | }, 27 | 28 | watch: { 29 | type(type) { 30 | if (this.picker) { 31 | this.unmountPicker(); 32 | this.panel = getPanel(type); 33 | this.mountPicker(); 34 | } else { 35 | this.panel = getPanel(type); 36 | } 37 | } 38 | }, 39 | 40 | created() { 41 | this.panel = getPanel(this.type); 42 | } 43 | }; 44 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/mixins/emitter.js: -------------------------------------------------------------------------------- 1 | function broadcast(componentName, eventName, params) { 2 | this.$children.forEach(child => { 3 | var name = child.$options.componentName; 4 | 5 | if (name === componentName) { 6 | child.$emit.apply(child, [eventName].concat(params)); 7 | } else { 8 | broadcast.apply(child, [componentName, eventName].concat([params])); 9 | } 10 | }); 11 | } 12 | export default { 13 | methods: { 14 | dispatch(componentName, eventName, params) { 15 | var parent = this.$parent || this.$root; 16 | var name = parent.$options.componentName; 17 | 18 | while (parent && (!name || name !== componentName)) { 19 | parent = parent.$parent; 20 | 21 | if (parent) { 22 | name = parent.$options.componentName; 23 | } 24 | } 25 | if (parent) { 26 | parent.$emit.apply(parent, [eventName].concat(params)); 27 | } 28 | }, 29 | broadcast(componentName, eventName, params) { 30 | broadcast.call(this, componentName, eventName, params); 31 | } 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/theme-chalk/scrollbar.css: -------------------------------------------------------------------------------- 1 | .el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/rate.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(rate) { 5 | height: $--rate-height; 6 | line-height: 1; 7 | 8 | &:focus, &:active { 9 | outline-width: 0; 10 | } 11 | 12 | @include e(item) { 13 | display: inline-block; 14 | position: relative; 15 | font-size: 0; 16 | vertical-align: middle; 17 | } 18 | 19 | @include e(icon) { 20 | position: relative; 21 | display: inline-block; 22 | font-size: $--rate-icon-size; 23 | margin-right: $--rate-icon-margin; 24 | color: $--rate-icon-color; 25 | transition: .3s; 26 | &.hover { 27 | transform: scale(1.15); 28 | } 29 | 30 | .path2 { 31 | position: absolute; 32 | left: 0; 33 | top: 0; 34 | } 35 | } 36 | 37 | @include e(decimal) { 38 | position: absolute; 39 | top: 0; 40 | left: 0; 41 | display: inline-block; 42 | overflow: hidden; 43 | } 44 | 45 | @include e(text) { 46 | font-size: $--rate-font-size; 47 | vertical-align: middle; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/lib/scrollbar.css: -------------------------------------------------------------------------------- 1 | .el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%} -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/button.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** Button type */ 4 | export type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text' 5 | 6 | /** Same as native button's type */ 7 | export type ButtonNativeType = 'button' | 'submit' | 'reset' | 'menu' 8 | 9 | /** Button Component */ 10 | export declare class ElButton extends ElementUIComponent { 11 | /** Button size */ 12 | size: ElementUIComponentSize 13 | 14 | /** Button type */ 15 | type: ButtonType 16 | 17 | /** Determine whether it's a plain button */ 18 | plain: boolean 19 | 20 | /** Determine whether it's a round button */ 21 | round: boolean 22 | 23 | /** Determine whether it's loading */ 24 | loading: boolean 25 | 26 | /** Disable the button */ 27 | disabled: boolean 28 | 29 | /** Button icon, accepts an icon name of Element icon component */ 30 | icon: string 31 | 32 | /** Same as native button's autofocus */ 33 | autofocus: boolean 34 | 35 | /** Same as native button's type */ 36 | nativeType: ButtonNativeType 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/color-picker/src/draggable.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | let isDragging = false; 3 | 4 | export default function(element, options) { 5 | if (Vue.prototype.$isServer) return; 6 | const moveFn = function(event) { 7 | if (options.drag) { 8 | options.drag(event); 9 | } 10 | }; 11 | const upFn = function(event) { 12 | document.removeEventListener('mousemove', moveFn); 13 | document.removeEventListener('mouseup', upFn); 14 | document.onselectstart = null; 15 | document.ondragstart = null; 16 | 17 | isDragging = false; 18 | 19 | if (options.end) { 20 | options.end(event); 21 | } 22 | }; 23 | element.addEventListener('mousedown', function(event) { 24 | if (isDragging) return; 25 | document.onselectstart = function() { return false; }; 26 | document.ondragstart = function() { return false; }; 27 | 28 | document.addEventListener('mousemove', moveFn); 29 | document.addEventListener('mouseup', upFn); 30 | isDragging = true; 31 | 32 | if (options.start) { 33 | options.start(event); 34 | } 35 | }); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/divider.scss: -------------------------------------------------------------------------------- 1 | @import "common/var"; 2 | @import "mixins/mixins"; 3 | 4 | @include b(divider) { 5 | background-color: $--border-color-base; 6 | position: relative; 7 | 8 | @include m(horizontal) { 9 | display: block; 10 | height: 1px; 11 | width: 100%; 12 | margin: 24px 0; 13 | } 14 | 15 | @include m(vertical) { 16 | display: inline-block; 17 | width: 1px; 18 | height: 1em; 19 | margin: 0 8px; 20 | vertical-align: middle; 21 | position: relative; 22 | } 23 | 24 | @include e(text) { 25 | position: absolute; 26 | background-color: $--color-white; 27 | padding: 0 20px; 28 | font-weight: 500; 29 | color: $--color-text-primary; 30 | font-size: 14px; 31 | 32 | @include when(left) { 33 | left: 20px; 34 | transform: translateY(-50%); 35 | } 36 | 37 | @include when(center) { 38 | left: 50%; 39 | transform: translateX(-50%) translateY(-50%); 40 | } 41 | 42 | @include when(right) { 43 | right: 20px; 44 | transform: translateY(-50%); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /src/test/java/com/gdut/admission/testEasyExcel.java: -------------------------------------------------------------------------------- 1 | package com.gdut.admission; 2 | 3 | import com.alibaba.excel.EasyExcel; 4 | import com.alibaba.excel.ExcelReader; 5 | import com.alibaba.excel.read.metadata.ReadSheet; 6 | import com.gdut.admission.entity.Stu; 7 | import com.gdut.admission.listener.StuListener; 8 | import com.gdut.admission.service.IStuService; 9 | import org.junit.jupiter.api.Test; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.boot.test.context.SpringBootTest; 12 | 13 | @SpringBootTest 14 | public class testEasyExcel { 15 | @Autowired 16 | private IStuService stuService; 17 | 18 | @Test 19 | public void testSimpleRead(){ 20 | String fileName = "D:\\my_workspace\\admission\\src\\main\\resources\\平行志愿测试数据.xlsx"; 21 | ExcelReader excelReader = EasyExcel.read( 22 | fileName, 23 | Stu.class, 24 | new StuListener(stuService) 25 | ).build(); 26 | ReadSheet readSheet = EasyExcel.readSheet(1).build(); 27 | excelReader.read(readSheet); 28 | excelReader.finish(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/checkbox/src/checkbox-group.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 49 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/mixins/function.scss: -------------------------------------------------------------------------------- 1 | @import "config"; 2 | 3 | /* BEM support Func 4 | -------------------------- */ 5 | @function selectorToString($selector) { 6 | $selector: inspect($selector); 7 | $selector: str-slice($selector, 2, -2); 8 | @return $selector; 9 | } 10 | 11 | @function containsModifier($selector) { 12 | $selector: selectorToString($selector); 13 | 14 | @if str-index($selector, $modifier-separator) { 15 | @return true; 16 | } @else { 17 | @return false; 18 | } 19 | } 20 | 21 | @function containWhenFlag($selector) { 22 | $selector: selectorToString($selector); 23 | 24 | @if str-index($selector, '.' + $state-prefix) { 25 | @return true 26 | } @else { 27 | @return false 28 | } 29 | } 30 | 31 | @function containPseudoClass($selector) { 32 | $selector: selectorToString($selector); 33 | 34 | @if str-index($selector, ':') { 35 | @return true 36 | } @else { 37 | @return false 38 | } 39 | } 40 | 41 | @function hitAllSpecialNestRule($selector) { 42 | 43 | @return containsModifier($selector) or containWhenFlag($selector) or containPseudoClass($selector); 44 | } 45 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/image.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from 'vue' 2 | import { ElementUIComponent } from './component' 3 | 4 | export type ObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' 5 | 6 | export interface ImageSlots { 7 | /** Placeholder content when image hasn't loaded yet */ 8 | placeholder: VNode[] 9 | 10 | /** Error content when error occurs to image load */ 11 | error: VNode[] 12 | 13 | [key: string]: VNode[] 14 | } 15 | 16 | /** Image Component */ 17 | export declare class ElImage extends ElementUIComponent { 18 | /** Image source */ 19 | src: string 20 | 21 | /** Indicate how the image should be resized to fit its container, same as native 'object-fit' */ 22 | fit: ObjectFit 23 | 24 | /** Whether to use lazy load */ 25 | lazy: boolean 26 | 27 | /** Scroll container that to add scroll listener when using lazy load */ 28 | scrollContainer: string | HTMLElement 29 | 30 | /** Native 'alt' attribute */ 31 | alt: string 32 | 33 | /** Native 'referrerPolicy' attribute */ 34 | referrerPolicy: string 35 | 36 | $slots: ImageSlots 37 | 38 | previewSrcList: string[] 39 | 40 | zIndex: number 41 | } 42 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-present ElemeFE 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/date-picker/year-table.scss: -------------------------------------------------------------------------------- 1 | @import "../common/var"; 2 | 3 | @include b(year-table) { 4 | font-size: 12px; 5 | margin: -1px; 6 | border-collapse: collapse; 7 | 8 | .el-icon { 9 | color: $--datepicker-icon-color; 10 | } 11 | 12 | td { 13 | text-align: center; 14 | padding: 20px 3px; 15 | cursor: pointer; 16 | 17 | &.today { 18 | .cell { 19 | color: $--color-primary; 20 | font-weight: bold; 21 | } 22 | } 23 | 24 | &.disabled .cell { 25 | background-color: $--background-color-base; 26 | cursor: not-allowed; 27 | color: $--color-text-placeholder; 28 | 29 | &:hover { 30 | color: $--color-text-placeholder; 31 | } 32 | } 33 | 34 | .cell { 35 | width: 48px; 36 | height: 32px; 37 | display: block; 38 | line-height: 32px; 39 | color: $--datepicker-font-color; 40 | margin: 0 auto; 41 | 42 | &:hover { 43 | color: $--datepicker-hover-font-color; 44 | } 45 | } 46 | 47 | &.current:not(.disabled) .cell { 48 | color: $--datepicker-active-color; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/utils/resize-event.js: -------------------------------------------------------------------------------- 1 | import ResizeObserver from 'resize-observer-polyfill'; 2 | 3 | const isServer = typeof window === 'undefined'; 4 | 5 | /* istanbul ignore next */ 6 | const resizeHandler = function(entries) { 7 | for (let entry of entries) { 8 | const listeners = entry.target.__resizeListeners__ || []; 9 | if (listeners.length) { 10 | listeners.forEach(fn => { 11 | fn(); 12 | }); 13 | } 14 | } 15 | }; 16 | 17 | /* istanbul ignore next */ 18 | export const addResizeListener = function(element, fn) { 19 | if (isServer) return; 20 | if (!element.__resizeListeners__) { 21 | element.__resizeListeners__ = []; 22 | element.__ro__ = new ResizeObserver(resizeHandler); 23 | element.__ro__.observe(element); 24 | } 25 | element.__resizeListeners__.push(fn); 26 | }; 27 | 28 | /* istanbul ignore next */ 29 | export const removeResizeListener = function(element, fn) { 30 | if (!element || !element.__resizeListeners__) return; 31 | element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); 32 | if (!element.__resizeListeners__.length) { 33 | element.__ro__.disconnect(); 34 | } 35 | }; 36 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/mixins/emitter.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | exports.__esModule = true; 4 | function _broadcast(componentName, eventName, params) { 5 | this.$children.forEach(function (child) { 6 | var name = child.$options.componentName; 7 | 8 | if (name === componentName) { 9 | child.$emit.apply(child, [eventName].concat(params)); 10 | } else { 11 | _broadcast.apply(child, [componentName, eventName].concat([params])); 12 | } 13 | }); 14 | } 15 | exports.default = { 16 | methods: { 17 | dispatch: function dispatch(componentName, eventName, params) { 18 | var parent = this.$parent || this.$root; 19 | var name = parent.$options.componentName; 20 | 21 | while (parent && (!name || name !== componentName)) { 22 | parent = parent.$parent; 23 | 24 | if (parent) { 25 | name = parent.$options.componentName; 26 | } 27 | } 28 | if (parent) { 29 | parent.$emit.apply(parent, [eventName].concat(params)); 30 | } 31 | }, 32 | broadcast: function broadcast(componentName, eventName, params) { 33 | _broadcast.call(this, componentName, eventName, params); 34 | } 35 | } 36 | }; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/src/locale/format.js: -------------------------------------------------------------------------------- 1 | import { hasOwn } from 'element-ui/src/utils/util'; 2 | 3 | const RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g; 4 | /** 5 | * String format template 6 | * - Inspired: 7 | * https://github.com/Matt-Esch/string-template/index.js 8 | */ 9 | export default function(Vue) { 10 | 11 | /** 12 | * template 13 | * 14 | * @param {String} string 15 | * @param {Array} ...args 16 | * @return {String} 17 | */ 18 | 19 | function template(string, ...args) { 20 | if (args.length === 1 && typeof args[0] === 'object') { 21 | args = args[0]; 22 | } 23 | 24 | if (!args || !args.hasOwnProperty) { 25 | args = {}; 26 | } 27 | 28 | return string.replace(RE_NARGS, (match, prefix, i, index) => { 29 | let result; 30 | 31 | if (string[index - 1] === '{' && 32 | string[index + match.length] === '}') { 33 | return i; 34 | } else { 35 | result = hasOwn(args, i) ? args[i] : null; 36 | if (result === null || result === undefined) { 37 | return ''; 38 | } 39 | 40 | return result; 41 | } 42 | }); 43 | } 44 | 45 | return template; 46 | } 47 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/scrollbar-width.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function () { 6 | if (_vue2.default.prototype.$isServer) return 0; 7 | if (scrollBarWidth !== undefined) return scrollBarWidth; 8 | 9 | var outer = document.createElement('div'); 10 | outer.className = 'el-scrollbar__wrap'; 11 | outer.style.visibility = 'hidden'; 12 | outer.style.width = '100px'; 13 | outer.style.position = 'absolute'; 14 | outer.style.top = '-9999px'; 15 | document.body.appendChild(outer); 16 | 17 | var widthNoScroll = outer.offsetWidth; 18 | outer.style.overflow = 'scroll'; 19 | 20 | var inner = document.createElement('div'); 21 | inner.style.width = '100%'; 22 | outer.appendChild(inner); 23 | 24 | var widthWithScroll = inner.offsetWidth; 25 | outer.parentNode.removeChild(outer); 26 | scrollBarWidth = widthNoScroll - widthWithScroll; 27 | 28 | return scrollBarWidth; 29 | }; 30 | 31 | var _vue = require('vue'); 32 | 33 | var _vue2 = _interopRequireDefault(_vue); 34 | 35 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 36 | 37 | var scrollBarWidth = void 0; 38 | 39 | ; -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/link/src/main.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 54 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/dropdown.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | import { ButtonType } from './button' 3 | 4 | export type DropdownMenuAlignment = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' 5 | export type DropdownMenuTrigger = 'hover' | 'click' 6 | 7 | /** Toggleable menu for displaying lists of links and actions */ 8 | export declare class ElDropdown extends ElementUIComponent { 9 | /** Menu button type. only works when split-button is true */ 10 | type: ButtonType 11 | 12 | /** Whether a button group is displayed */ 13 | splitButton: boolean 14 | 15 | /** menu size, also works on the split button */ 16 | size: ElementUIComponentSize 17 | 18 | /** Placement of the menu */ 19 | placement: DropdownMenuAlignment 20 | 21 | /** How to trigger */ 22 | trigger: DropdownMenuTrigger 23 | 24 | /** Whether to hide menu after clicking menu-item */ 25 | hideOnClick: boolean 26 | 27 | /** Delay time before show a dropdown */ 28 | showTimeout: number 29 | 30 | /** Delay time before hide a dropdown */ 31 | hideTimeout: number 32 | 33 | /** Dropdown tabindex */ 34 | tabindex: number 35 | } 36 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/input-number.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type InputNumberSize = 'large' | 'small' 4 | 5 | /** InputNumber Component */ 6 | export declare class ElInputNumber extends ElementUIComponent { 7 | /** Binding value */ 8 | value: number 9 | 10 | /** The minimum allowed value */ 11 | min: number 12 | 13 | /** The maximum allowed value */ 14 | max: number 15 | 16 | /** Incremental step */ 17 | step: number 18 | 19 | /** Size of the component */ 20 | size: InputNumberSize 21 | 22 | /** Whether the component is disabled */ 23 | disabled: boolean 24 | 25 | /** Whether to enable the control buttons */ 26 | controls: boolean 27 | 28 | /** Debounce delay when typing, in milliseconds */ 29 | debounce: number 30 | 31 | /** Position of the control buttons */ 32 | controlsPosition: string 33 | 34 | /** Same as name in native input */ 35 | name: string 36 | 37 | /** Precision of input value */ 38 | precision: number 39 | 40 | /** whether input value can only be multiple of step */ 41 | stepStrictly: boolean 42 | 43 | /** 44 | * Focus the Input component 45 | */ 46 | focus (): void 47 | } 48 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/progress.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | export type ProgressType = 'line' | 'circle' 4 | export type ProgressStatus = 'success' | 'exception' 5 | 6 | /** Progress Component */ 7 | export declare class ElProgress extends ElementUIComponent { 8 | /** Percentage, required */ 9 | percentage: number 10 | 11 | /** The type of progress bar */ 12 | type: ProgressType 13 | 14 | /** The width of progress bar */ 15 | strokeWidth: number 16 | 17 | /** Circle progress bar stroke line cap */ 18 | strokeLinecap: string 19 | 20 | /** Whether to place the percentage inside progress bar, only works when type is 'line' */ 21 | textInside: boolean 22 | 23 | /** The current status of progress bar */ 24 | status: ProgressStatus 25 | 26 | /** Background color of progress bar. Overrides `status` prop */ 27 | color: string | Function | Array 28 | 29 | /** The canvas width of circle progress bar */ 30 | width: number 31 | 32 | /** Whether to show percentage */ 33 | showText: boolean 34 | 35 | /** Template function of the content */ 36 | format(percentage: number): string 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/loading/src/loading.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 42 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/menu/src/menu-item-group.vue: -------------------------------------------------------------------------------- 1 | 12 | 45 | 46 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/form-item.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent, ElementUIComponentSize } from './component' 2 | 3 | /** FormItem Component */ 4 | export declare class ElFormItem extends ElementUIComponent { 5 | /** A key of `model` of the enclosing `el-form` component */ 6 | prop: string 7 | 8 | /** Label */ 9 | label: string 10 | 11 | /** Width of label, e.g. '50px' */ 12 | labelWidth: string 13 | 14 | /** Whether the field is required or not, will be determined by validation rules if omitted */ 15 | required: boolean 16 | 17 | /** Validation rules of form */ 18 | rules: object 19 | 20 | /** Field error message, set its value and the field will validate error and show this message immediately */ 21 | error: string 22 | 23 | /** Whether to show the error message */ 24 | showMessage: boolean 25 | 26 | /** Whether to display the error message inline with the form item */ 27 | inlineMessage: boolean 28 | 29 | /** Controls the size of components in this form */ 30 | size: ElementUIComponentSize 31 | 32 | /** Reset current field and remove validation result */ 33 | resetField (): void 34 | 35 | /** Remove validation status of the field */ 36 | clearValidate (): void 37 | } 38 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/scroll-into-view.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | exports.default = scrollIntoView; 5 | 6 | var _vue = require('vue'); 7 | 8 | var _vue2 = _interopRequireDefault(_vue); 9 | 10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 11 | 12 | function scrollIntoView(container, selected) { 13 | if (_vue2.default.prototype.$isServer) return; 14 | 15 | if (!selected) { 16 | container.scrollTop = 0; 17 | return; 18 | } 19 | 20 | var offsetParents = []; 21 | var pointer = selected.offsetParent; 22 | while (pointer && container !== pointer && container.contains(pointer)) { 23 | offsetParents.push(pointer); 24 | pointer = pointer.offsetParent; 25 | } 26 | var top = selected.offsetTop + offsetParents.reduce(function (prev, curr) { 27 | return prev + curr.offsetTop; 28 | }, 0); 29 | var bottom = top + selected.offsetHeight; 30 | var viewRectTop = container.scrollTop; 31 | var viewRectBottom = viewRectTop + container.clientHeight; 32 | 33 | if (top < viewRectTop) { 34 | container.scrollTop = top; 35 | } else if (bottom > viewRectBottom) { 36 | container.scrollTop = bottom - container.clientHeight; 37 | } 38 | } -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/theme-chalk/src/carousel-item.scss: -------------------------------------------------------------------------------- 1 | @import "mixins/mixins"; 2 | @import "common/var"; 3 | 4 | @include b(carousel) { 5 | @include e(item) { 6 | position: absolute; 7 | top: 0; 8 | left: 0; 9 | width: 100%; 10 | height: 100%; 11 | display: inline-block; 12 | overflow: hidden; 13 | z-index: #{$--index-normal - 1}; 14 | 15 | @include when(active) { 16 | z-index: #{$--index-normal + 1}; 17 | } 18 | 19 | @include when(animating) { 20 | transition: transform .4s ease-in-out; 21 | } 22 | 23 | @include m(card) { 24 | width: 50%; 25 | transition: transform .4s ease-in-out; 26 | &.is-in-stage { 27 | cursor: pointer; 28 | z-index: $--index-normal; 29 | &:hover .el-carousel__mask, 30 | &.is-hover .el-carousel__mask { 31 | opacity: 0.12; 32 | } 33 | } 34 | &.is-active { 35 | z-index: #{$--index-normal + 1}; 36 | } 37 | } 38 | } 39 | 40 | @include e(mask) { 41 | position: absolute; 42 | width: 100%; 43 | height: 100%; 44 | top: 0; 45 | left: 0; 46 | background-color: $--color-white; 47 | opacity: 0.24; 48 | transition: .2s; 49 | } 50 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # admission 2 | 数据库课程设计-平行志愿模拟录取系统 3 | 4 | # 关于项目 5 | 6 | ### 项目简介 7 | 8 | 该项目基于SSM实现的高考平行志愿模拟录取系统,题目来源:广东工业大学-数据库系统 (谢锐老师) -2022年课程设计。 9 | 10 | 11 | 12 | ### 项目技术栈 13 | 14 | **前端主要涉及技术** 15 | 16 | - 前端三件套 - Html, Css, JavaScript 17 | - Web端展示组件 - ElementUI + Vue + axios 18 | - 录取结果可视化展示 - echarts 19 | 20 | **后端主要涉及技术** 21 | 22 | - Java 开发框架 - Springboot + SpringMVC + Spring 23 | - 持久层框架 - MyBatis-plus 24 | - 持久层 - MySQL 25 | - 依赖管理 - Maven 26 | - 对象低代码组件 - Lombok 27 | - Excel表管理组件 - Easyexcel 28 | - 接口文档工具 - Knife4j 29 | 30 | 31 | 32 | ### 项目运行 33 | 34 | #### 运行环境 35 | 36 | windows 10/11 37 | 38 | IDEA 2019 + JDK 1.8 + MySQL 8 39 | 40 | #### 项目运行说明 41 | 42 | 1. 创建数据库名为 : `admission` 43 | 44 | 2. 将项目源文件 `/resources/startResource` 下的 `admission.sql` 文件导入数据库 45 | 46 | 3. 更改 `/resources` 下的 `application.yml` 中的以下内容 47 | 48 | ``` 49 | datasource: 50 | username: MySQL用户名 51 | password: MySQL密码 52 | url: jdbc:mysql://localhost:3306/admission?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai 53 | ``` 54 | 55 | 4. 启动项目, 访问浏览器访问 localhost:8080/index.html 56 | 57 | 58 | 59 | #### 项目附件说明 60 | 61 | 平行志愿考生测试数据.xlsx : 用于测试的广东省6800余名考生志愿信息 62 | 63 | 招生计划测试数据.xlsx : 用于测试的某大学各专业招生计划 64 | 65 | 课设选题.pdf : 题目说明 66 | 67 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/switch.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Switch Component */ 4 | export declare class ElSwitch extends ElementUIComponent { 5 | /** Whether Switch is on */ 6 | value: boolean 7 | 8 | /** Whether Switch is disabled */ 9 | disabled: boolean 10 | 11 | /** Width of Switch */ 12 | width: number 13 | 14 | /** Class name of the icon displayed when in on state, overrides on-text */ 15 | activeIconClass: string 16 | 17 | /** Class name of the icon displayed when in off state, overrides off-text */ 18 | inactiveIconClass: string 19 | 20 | /** Text displayed when in on state */ 21 | activeText: string 22 | 23 | /** Text displayed when in off state */ 24 | inactiveText: string 25 | 26 | /** Background color when in on state */ 27 | activeColor: string 28 | 29 | /** Background color when in off state */ 30 | inactiveColor: string 31 | 32 | /** Switch value when in on state */ 33 | activeValue: string | boolean | number 34 | 35 | /** Switch value when in off state */ 36 | inactiveValue: string | boolean | number 37 | 38 | /** Input name of Switch */ 39 | name: string 40 | 41 | /** Whether to trigger form validation */ 42 | validateEvent: boolean 43 | } 44 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/breadcrumb/src/breadcrumb-item.vue: -------------------------------------------------------------------------------- 1 | 13 | 42 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/table/src/store/helper.js: -------------------------------------------------------------------------------- 1 | import Store from './index'; 2 | import debounce from 'throttle-debounce/debounce'; 3 | 4 | export function createStore(table, initialState = {}) { 5 | if (!table) { 6 | throw new Error('Table is required.'); 7 | } 8 | 9 | const store = new Store(); 10 | store.table = table; 11 | // fix https://github.com/ElemeFE/element/issues/14075 12 | // related pr https://github.com/ElemeFE/element/pull/14146 13 | store.toggleAllSelection = debounce(10, store._toggleAllSelection); 14 | Object.keys(initialState).forEach(key => { 15 | store.states[key] = initialState[key]; 16 | }); 17 | return store; 18 | } 19 | 20 | export function mapStates(mapper) { 21 | const res = {}; 22 | Object.keys(mapper).forEach(key => { 23 | const value = mapper[key]; 24 | let fn; 25 | if (typeof value === 'string') { 26 | fn = function() { 27 | return this.store.states[value]; 28 | }; 29 | } else if (typeof value === 'function') { 30 | fn = function() { 31 | return value.call(this, this.store.states); 32 | }; 33 | } else { 34 | console.error('invalid value type'); 35 | } 36 | if (fn) { 37 | res[key] = fn; 38 | } 39 | }); 40 | return res; 41 | }; 42 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/types/pagination.d.ts: -------------------------------------------------------------------------------- 1 | import { ElementUIComponent } from './component' 2 | 3 | /** Pagination Component */ 4 | export declare class ElPagination extends ElementUIComponent { 5 | /** Whether to use small pagination */ 6 | small: boolean 7 | 8 | /** Item count of each page */ 9 | pageSize: number 10 | 11 | /** Total item count */ 12 | total: number 13 | 14 | /** Total page count. Set either total or page-count and pages will be displayed; if you need page-sizes, total is required */ 15 | pageCount: number 16 | 17 | /** Number of pagers */ 18 | pagerCount: number 19 | 20 | /** Current page number */ 21 | currentPage: number 22 | 23 | /** 24 | * Layout of Pagination. Elements separated with a comma. 25 | * Accepted values: `sizes`, `prev`, `pager`, `next`, `jumper`, `->`, `total`, `slot` 26 | */ 27 | layout: string 28 | 29 | /** Options of item count per page */ 30 | pageSizes: number[] 31 | 32 | /** Custom class name for the page size Select's dropdown */ 33 | popperClass: string 34 | 35 | /** Text for the prev button */ 36 | prevText: string 37 | 38 | /** Text for the prev button */ 39 | nextText: string 40 | 41 | /** Whether to hide when thers's only one page */ 42 | hideOnSinglePage: boolean 43 | } 44 | -------------------------------------------------------------------------------- /src/main/resources/mapper/PlanMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | id, group_id, profession_id, profession_name, college_name, plan_num, comment, location, language, test_limit1, test_limit2 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/lib/utils/after-leave.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.__esModule = true; 4 | 5 | exports.default = function (instance, callback) { 6 | var speed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 300; 7 | var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; 8 | 9 | if (!instance || !callback) throw new Error('instance & callback is required'); 10 | var called = false; 11 | var afterLeaveCallback = function afterLeaveCallback() { 12 | if (called) return; 13 | called = true; 14 | if (callback) { 15 | callback.apply(null, arguments); 16 | } 17 | }; 18 | if (once) { 19 | instance.$once('after-leave', afterLeaveCallback); 20 | } else { 21 | instance.$on('after-leave', afterLeaveCallback); 22 | } 23 | setTimeout(function () { 24 | afterLeaveCallback(); 25 | }, speed + 100); 26 | }; 27 | 28 | ; /** 29 | * Bind after-leave event for vue instance. Make sure after-leave is called in any browsers. 30 | * 31 | * @param {Vue} instance Vue instance. 32 | * @param {Function} callback callback of after-leave event 33 | * @param {Number} speed the speed of transition, default value is 300ms 34 | * @param {Boolean} once weather bind after-leave once. default value is false. 35 | */ -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/menu/src/menu-mixin.js: -------------------------------------------------------------------------------- 1 | export default { 2 | inject: ['rootMenu'], 3 | computed: { 4 | indexPath() { 5 | const path = [this.index]; 6 | let parent = this.$parent; 7 | while (parent.$options.componentName !== 'ElMenu') { 8 | if (parent.index) { 9 | path.unshift(parent.index); 10 | } 11 | parent = parent.$parent; 12 | } 13 | return path; 14 | }, 15 | parentMenu() { 16 | let parent = this.$parent; 17 | while ( 18 | parent && 19 | ['ElMenu', 'ElSubmenu'].indexOf(parent.$options.componentName) === -1 20 | ) { 21 | parent = parent.$parent; 22 | } 23 | return parent; 24 | }, 25 | paddingStyle() { 26 | if (this.rootMenu.mode !== 'vertical') return {}; 27 | 28 | let padding = 20; 29 | let parent = this.$parent; 30 | 31 | if (this.rootMenu.collapse) { 32 | padding = 20; 33 | } else { 34 | while (parent && parent.$options.componentName !== 'ElMenu') { 35 | if (parent.$options.componentName === 'ElSubmenu') { 36 | padding += 20; 37 | } 38 | parent = parent.$parent; 39 | } 40 | } 41 | return {paddingLeft: padding + 'px'}; 42 | } 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /src/main/resources/static/element-ui/packages/badge/src/main.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 54 | --------------------------------------------------------------------------------