school.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <My_listbox ref="List" @getlist="getList">
  3. <view class="box">
  4. <navigator class="nav-box" v-for="item in list" :key="item.sat_courseware_classid"
  5. :url="'/packageA/course/index?id=' + item.sat_courseware_classid + '&classname=' + item.classname"
  6. hover-class="navigator-hover">
  7. <image v-if="item.cover" class="image" :src="item.cover" mode="aspectFill" lazy-load="false" />
  8. <text v-else>{{ item.classname }}</text>
  9. </navigator>
  10. <navigator class="nav-box" v-for="item in appList" :key="item.name" :url="item.path"
  11. hover-class="navigator-hover">
  12. <block v-if="item.cover">
  13. <image class="image" :src="item.cover" mode="aspectFill" lazy-load="false" />
  14. </block>
  15. <text v-else>{{ item.remark }}</text>
  16. </navigator>
  17. </view>
  18. </My_listbox>
  19. </template>
  20. <script>
  21. export default {
  22. data() {
  23. return {
  24. list: [],
  25. appList: []
  26. }
  27. },
  28. created() {
  29. this.getList()
  30. },
  31. mounted() {
  32. try {
  33. this.appList = this.getApps('商学院')
  34. console.log('商学院', this.appList)
  35. } catch (error) {
  36. console.log("未获取到授权信息")
  37. }
  38. },
  39. methods: {
  40. getList() {
  41. this.$Http.basic({
  42. "id": "20221102143302",
  43. "content": {
  44. "parentid": 0,
  45. pageSize: 9999,
  46. "where": {
  47. "isenable": 1
  48. }
  49. }
  50. }).then(res => {
  51. console.log("课程分类", res)
  52. this.$refs.List.RefreshToComplete()
  53. if (this.cutoff(res.msg)) return;
  54. this.list = res.data.map(v => {
  55. v.cover = this.getSpecifiedImage(v.attinfos[0] || {})
  56. return v
  57. });
  58. })
  59. }
  60. },
  61. }
  62. </script>
  63. <style lang="scss">
  64. .box {
  65. padding: 0 10px;
  66. box-sizing: border-box;
  67. display: flex;
  68. justify-content: space-between;
  69. flex-wrap: wrap;
  70. .nav-box {
  71. width: 172.5px;
  72. height: 92px;
  73. flex-shrink: 0;
  74. margin-top: 10px;
  75. .image {
  76. width: 100%;
  77. height: 100%;
  78. }
  79. }
  80. }
  81. </style>