UniversitiesLine.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <template>
  2. <div>
  3. <div>
  4. <!-- 录取年份 -->
  5. <el-row class="radioInput">
  6. <div>
  7. <span class="radiaTitle">录取年份:</span>
  8. </div>
  9. <el-radio-group v-model="universityParams.year">
  10. <el-radio-button v-for="item in years" :key="item" :label="item"
  11. style="margin-bottom:10px"></el-radio-button>
  12. </el-radio-group>
  13. </el-row>
  14. <!-- 科类 -->
  15. <el-row class="radioInput">
  16. <div>
  17. <span class="radiaTitle">科类:</span>
  18. </div>
  19. <el-radio-group v-model="universityParams.liberalScience">
  20. <el-radio-button label="">所有</el-radio-button>
  21. <el-radio-button v-for="item in types" :key="item" :label="item"
  22. style="margin-bottom:10px"></el-radio-button>
  23. </el-radio-group>
  24. </el-row>
  25. <!-- 院校过滤条件 -->
  26. <filter-form :filter="filter_form"></filter-form>
  27. <mx-search-group class="mb10" justify="end" :span="6" v-model="name" placeholder="搜索" @search="clickSuffix"
  28. ></mx-search-group>
  29. <!-- 表格数据 -->
  30. <universities-line-table :universityParams="all_form"></universities-line-table>
  31. </div>
  32. </div>
  33. </template>
  34. <script>
  35. import {
  36. selectUniversityTypes,
  37. selectUniversityYears
  38. } from '@/api/webApi/shiftLine'
  39. import UniversitiesLineTable from '@/views/career/components/UniversitiesLineTable'
  40. import FilterForm from '@/views/career/components/FilterForm'
  41. import MxSearchGroup from '@/components/MxSearch/mx-search-group'
  42. export default {
  43. name: "UniversitiesLine",
  44. components: {UniversitiesLineTable,FilterForm,MxSearchGroup},
  45. data() {
  46. return {
  47. types: [],
  48. years: [],
  49. filter_form:{
  50. location:'',
  51. natureTypeCN:'',
  52. type:'',
  53. level:'',
  54. features:'',
  55. name:''
  56. },
  57. name:'',
  58. universityParams: {
  59. liberalScience: '',
  60. year: ''
  61. }
  62. }
  63. },
  64. computed:{
  65. all_form(){
  66. return {
  67. ...this.filter_form,
  68. ...this.universityParams,
  69. }
  70. }
  71. },
  72. watch: {
  73. 'universityParams.year': {
  74. immediate: false,
  75. handler(val) {
  76. this.getUniversityTypes()
  77. }
  78. }
  79. },
  80. created() {
  81. this.getUniversityYears()
  82. },
  83. methods: {
  84. clickSuffix() {
  85. this.filter_form.name = this.name
  86. },
  87. getUniversityTypes() {
  88. const params = {
  89. year: this.universityParams.year,
  90. }
  91. selectUniversityTypes(params).then(res => {
  92. this.types = res.rows
  93. })
  94. },
  95. getUniversityYears() {
  96. selectUniversityYears().then(res => {
  97. this.universityParams.year = res.rows[0]
  98. this.years = res.rows
  99. })
  100. }
  101. }
  102. }
  103. </script>
  104. <style lang="scss" scoped>
  105. .radioInput ::v-deep {
  106. background-color: #ffffff;
  107. font-size: 14px;
  108. padding:5px;
  109. .el-radio {
  110. .el-radio__input {
  111. display: none;
  112. }
  113. }
  114. }
  115. .radioInput ::v-deep {
  116. display: flex;
  117. .el-radio-button .el-radio-button__inner {
  118. border-radius: 4px !important;
  119. border: none;
  120. padding: 5px 10px !important;
  121. font-weight: 400;
  122. font-family: PingFangSC-Regular, PingFang SC;
  123. }
  124. .el-radio-button__orig-radio:checked + .el-radio-button__inner {
  125. box-shadow: none;
  126. }
  127. .radiaTitle {
  128. display: inline-block;
  129. width: 80px;
  130. font-size: 14px;
  131. text-align: right;
  132. margin-top: 2px;
  133. margin-right: 10px;
  134. }
  135. }
  136. </style>