university_list.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <template>
  2. <div class="university_details_video">
  3. <head-component :headinfo=headinfo></head-component>
  4. <div class="page-content">
  5. <div class="page-img-box">
  6. <div class="box-content">
  7. <div class="school-box" v-for="(item,index) in tableData" :key="index">
  8. <img src="@/assets/images/environment/contrast.png"/>
  9. <div class="right-box">
  10. <div class="right-top">
  11. <div class="right-top-title">{{ item.name }}</div>
  12. <div class="right-top-details" @click="handleDetail(item)">详情 ></div>
  13. </div>
  14. <p class="info"><span>创建时间:</span><span>{{
  15. item.ctime
  16. }}</span><span style="margin-left: 46px">所在地区:</span><span>{{ item.areaname }}</span></p>
  17. <p class="info"><span>院校隶属:</span><span>{{ item.subjection }}</span>
  18. <span style="margin-left: 46px">院校类型:</span><span>
  19. <dict-tag :options="school_category"
  20. :value="item.categoryid"/></span>
  21. </p>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. <drag_component></drag_component>
  27. </div>
  28. </div>
  29. </template>
  30. <script setup>
  31. import headComponent from '@/views/xjc-integratedmachine/components/head_component.vue'
  32. import Drag_component from "@/views/xjc-integratedmachine/components/drag_component.vue";
  33. import {universityList} from '@/api/xjc-integratedmachine/environment/university.js'
  34. import {ref} from "vue";
  35. const router = useRouter()
  36. const route = useRoute()
  37. const headinfo = ref({})
  38. const params = route.query
  39. const total = ref(0)
  40. const tableData = ref(null)
  41. const {proxy} = getCurrentInstance()
  42. const {
  43. school_category
  44. } = proxy.useDict('school_category')
  45. const data = reactive({
  46. queryParams: {
  47. pageNum: 1,
  48. pageSize: 10,
  49. areaid: params.areaid,
  50. educationlevel: params.educationlevel,
  51. characteristic: params.characteristic,
  52. },
  53. })
  54. const {queryParams} = toRefs(data)
  55. function getList() {
  56. universityList(proxy.addDateRange(queryParams.value)).then(resp => {
  57. tableData.value = resp.data.rows
  58. total.value = resp.data.total
  59. })
  60. }
  61. function handleDetail(row) {
  62. router.push({
  63. path: '/xjc-integratedmachine/environment/university_details_video',
  64. query: {
  65. id: row.id,
  66. name: row.name,
  67. oldid: row.oldid,
  68. }
  69. })
  70. }
  71. onMounted(() => {
  72. setHeadinfo()
  73. })
  74. getList()
  75. function setHeadinfo() {
  76. headinfo.value = {
  77. title: '高校列表',
  78. user: {
  79. avatar: '头像路径',
  80. nickName: '张三'
  81. },
  82. backUrl: '/xjc-integratedmachine/environment/query_universitydb_conditions',
  83. homeUrl: '/xjc-integratedmachine/environment/index',
  84. contrast:true,
  85. }
  86. }
  87. </script>
  88. <style scoped lang="scss">
  89. p, div {
  90. margin: 0;
  91. padding: 0;
  92. }
  93. .university_details_video {
  94. background: url('@/assets/images/environment/university-detail.png') no-repeat;
  95. background-size: 1920px 1080px;
  96. z-index: 10;
  97. width: 100%;
  98. height: 1080px;
  99. .page-content {
  100. width: 100%;
  101. height: 922px;
  102. position: absolute;
  103. top: 100px;
  104. bottom: 0;
  105. display: flex;
  106. justify-content: center;
  107. .page-img-box {
  108. width: 1832px;
  109. height: 922px;
  110. margin-top: 13px;
  111. background: rgba(255, 255, 255, 0.4);
  112. border-radius: 35px 35px 35px 35px;
  113. display: flex;
  114. flex-direction: column;
  115. .box-content{
  116. width: 1832px;
  117. height: 922px;
  118. display: flex;
  119. padding-left: 20px;
  120. padding-top: 55px;
  121. padding-bottom: 55px;
  122. //justify-content: space-between;
  123. //margin-left: 41px;
  124. //margin-right: 41px;
  125. align-items: center;
  126. flex-wrap: wrap;
  127. overflow: auto;
  128. //border: 1px solid red;
  129. .school-box {
  130. width: 570px;
  131. height: 204px;
  132. background: #FFFFFF;
  133. margin-left: 20px;
  134. box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.09);
  135. border-radius: 5px 5px 5px 5px;
  136. display: flex;
  137. justify-content: space-between;
  138. align-items: center;
  139. margin-bottom: 45px;
  140. img {
  141. width: 154px;
  142. height: 154px;
  143. //border: 1px solid;
  144. }
  145. .right-box {
  146. width: 400px;
  147. height: 204px;
  148. //border: 1px solid;
  149. .right-top {
  150. height: 90px;
  151. display: flex;
  152. justify-content: space-between;
  153. align-items: center;
  154. border-bottom: 1px solid #E6E6E6;
  155. .right-top-title {
  156. font-weight: bold;
  157. font-size: 32px;
  158. color: #1E410E;
  159. line-height: 24px;
  160. }
  161. .right-top-details {
  162. font-weight: 400;
  163. font-size: 20px;
  164. color: #515F6A;
  165. }
  166. }
  167. .info {
  168. margin-top: 14px;
  169. font-weight: 400;
  170. font-size: 20px;
  171. color: #333333;
  172. line-height: 25px;
  173. display: flex;
  174. span {
  175. margin-left: 4px;
  176. }
  177. }
  178. }
  179. }
  180. }
  181. }
  182. }
  183. }
  184. </style>