learnDetail.vue 5.31 KB
Newer Older
乐宝呗666's avatar
乐宝呗666 committed
1 2
<template>
  <div class="learn-detail-page-content">
乐宝呗666's avatar
乐宝呗666 committed
3
    <Header title="学习内容详情" />
乐宝呗666's avatar
乐宝呗666 committed
4 5 6 7
    <div class="page-wrapper">
      <div class="title-content">
        <div class="row-body">
          <div class="title-label">学习内容名称</div>
乐宝呗666's avatar
乐宝呗666 committed
8
          <div class="title-body">{{ list.name }}</div>
乐宝呗666's avatar
乐宝呗666 committed
9 10 11 12
        </div>
        <div class="row-body">
          <div class="title-label">学习内容宣传图</div>
          <div class="title-body">
乐宝呗666's avatar
乐宝呗666 committed
13
            <img :src="list.cover" alt="" />
乐宝呗666's avatar
乐宝呗666 committed
14 15 16 17
          </div>
        </div>
      </div>
      <van-collapse v-model="activeNames" accordion>
乐宝呗666's avatar
乐宝呗666 committed
18 19 20 21 22 23
        <van-collapse-item
          :name="item.id"
          :title="item.name"
          v-for="(item, index) in list.exhibitionBoardList"
          :key="index"
        >
乐宝呗666's avatar
乐宝呗666 committed
24
          <div class="content">
乐宝呗666's avatar
乐宝呗666 committed
25 26
            <div class="row-body">
              <div class="title-label">展板版权方</div>
27
              <div class="title-body">{{ item.boardCopyrightOwnerName }}</div>
乐宝呗666's avatar
乐宝呗666 committed
28 29 30 31 32
            </div>
            <div class="row-body">
              <div class="title-label">展板宣传图</div>
              <div class="title-body">
                <img :src="item.cover" alt="" />
乐宝呗666's avatar
乐宝呗666 committed
33
              </div>
乐宝呗666's avatar
乐宝呗666 committed
34 35 36 37
            </div>
            <div class="detail-body">
              <div class="learn-title">展板简介</div>
              <div class="learn-body textarea">
38
                {{ item.remarks || '暂无数据'}}
乐宝呗666's avatar
乐宝呗666 committed
39
              </div>
乐宝呗666's avatar
乐宝呗666 committed
40 41 42 43
            </div>

            <div class="detail-body">
              <div class="learn-title">展板视频</div>
44 45
              <div class="learn-body" v-if="item.videoList.length">
                <span class="file-box" v-for="(s, i) in item.videoList" :key="i">
乐宝呗666's avatar
乐宝呗666 committed
46 47 48 49
                  <video
                    controls
                    width="100%"
                    height="100%"
50
                    poster="@/assets/images/applets/video.png"
乐宝呗666's avatar
乐宝呗666 committed
51 52 53 54 55
                  >
                    <source :src="s.fileUrl" />
                  </video>
                  <span>{{ s.fileName }}</span>
                </span>
乐宝呗666's avatar
乐宝呗666 committed
56
              </div>
57
              <div class="learn-body" v-if="!item.videoList.length">暂无数据</div>
乐宝呗666's avatar
乐宝呗666 committed
58 59 60 61 62
            </div>
            <div class="detail-body">
              <div class="learn-title">展板音频</div>
              <div class="learn-body">
                <span
63
                  class="file-box audio"
64
                  v-for="(s, i) in item.audioList"
乐宝呗666's avatar
乐宝呗666 committed
65 66 67 68 69 70
                  :key="i"
                >
                  <audio
                    controls
                    width="100%"
                    height="100%"
71
                    poster="@/assets/images/applets/audio.png"
乐宝呗666's avatar
乐宝呗666 committed
72 73 74 75 76
                  >
                    <source :src="s.fileUrl" />
                  </audio>
                  <span>{{ s.fileName }}</span>
                </span>
乐宝呗666's avatar
乐宝呗666 committed
77
              </div>
78
              <div class="learn-body" v-if="!item.audioList.length">暂无数据</div>
乐宝呗666's avatar
乐宝呗666 committed
79
            </div>
乐宝呗666's avatar
乐宝呗666 committed
80 81 82 83 84 85 86 87
          </div>
        </van-collapse-item>
      </van-collapse>
    </div>
  </div>
</template>

<script>
乐宝呗666's avatar
乐宝呗666 committed
88
import Header from "@/components/Header/index.vue";
乐宝呗666's avatar
乐宝呗666 committed
89
export default {
乐宝呗666's avatar
乐宝呗666 committed
90
  components: { Header },
乐宝呗666's avatar
乐宝呗666 committed
91 92
  data() {
    return {
乐宝呗666's avatar
乐宝呗666 committed
93 94
      activeNames: [],
      list: [],
乐宝呗666's avatar
乐宝呗666 committed
95 96
    };
  },
乐宝呗666's avatar
乐宝呗666 committed
97 98
  mounted() {
    this.id = this.$route.query.id;
乐宝呗666's avatar
乐宝呗666 committed
99
    this.getContentInfo();
乐宝呗666's avatar
乐宝呗666 committed
100 101 102
  },
  methods: {
    // 获取详情
乐宝呗666's avatar
乐宝呗666 committed
103
    getContentInfo() {
乐宝呗666's avatar
乐宝呗666 committed
104 105
      let vm = this;
      let param = {
乐宝呗666's avatar
乐宝呗666 committed
106
        id: this.id,
乐宝呗666's avatar
乐宝呗666 committed
107 108 109 110 111
      };
      vm.$https(
        {
          url: `learningContent/get/${this.id}`,
          method: "get",
乐宝呗666's avatar
乐宝呗666 committed
112 113 114 115 116 117
          authType: this.backToken,
        },
        param
      )
        .then((res) => {
          if (res.data.resultCode === "200") {
乐宝呗666's avatar
乐宝呗666 committed
118
            this.list = res.data.data;
乐宝呗666's avatar
乐宝呗666 committed
119 120 121
            this.activeNames = this.list.exhibitionBoardList[0].id;
          } else {
            this.$toast(res.data.message);
乐宝呗666's avatar
乐宝呗666 committed
122 123
          }
        })
乐宝呗666's avatar
乐宝呗666 committed
124
        .catch(function (err) {
乐宝呗666's avatar
乐宝呗666 committed
125 126 127
          console.log(err);
        });
    },
乐宝呗666's avatar
乐宝呗666 committed
128
  },
乐宝呗666's avatar
乐宝呗666 committed
129 130 131 132 133
};
</script>

<style lang="scss" scoped>
.learn-detail-page-content {
乐宝呗666's avatar
乐宝呗666 committed
134 135
  padding: 50px 16px 16px;
  box-sizing: border-box;
乐宝呗666's avatar
乐宝呗666 committed
136
  .page-wrapper {
乐宝呗666's avatar
乐宝呗666 committed
137
    padding-top: 20px;
乐宝呗666's avatar
乐宝呗666 committed
138
    width: 100%;
乐宝呗666's avatar
乐宝呗666 committed
139
    height: calc(100vh - 80px);
乐宝呗666's avatar
乐宝呗666 committed
140 141
    overflow-y: auto;
  }
乐宝呗666's avatar
乐宝呗666 committed
142 143 144
  .title-content {
    padding: 0 10px;
  }
乐宝呗666's avatar
乐宝呗666 committed
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
  .row-body {
    margin-bottom: 30px;
    display: flex;
    color: #333;
    .title-label {
      font-size: 14px;
      width: 140px;
    }
    .title-body {
      font-size: 16px;
      font-weight: 700;
      flex: 1;
      img {
        width: 160px;
        height: 100px;
      }
    }
  }
乐宝呗666's avatar
乐宝呗666 committed
163
  ::v-deep .van-collapse-item__title {
乐宝呗666's avatar
乐宝呗666 committed
164 165 166 167 168 169 170 171 172 173
    font-size: 16px;
    font-weight: 700;
    &:active {
      background-color: transparent;
    }
  }
  .van-hairline--top-bottom::after {
    border-width: 0;
  }
  .content {
乐宝呗666's avatar
乐宝呗666 committed
174 175 176 177 178 179 180 181 182 183 184
    .learn-title {
      font-size: 14px;
      color: #333333;
      padding-bottom: 12px;
    }

    .detail-body {
      margin-bottom: 20px;
      .learn-body {
        display: flex;
        flex-wrap: wrap;
乐宝呗666's avatar
乐宝呗666 committed
185
        padding-bottom: 12px;
乐宝呗666's avatar
乐宝呗666 committed
186 187 188 189
        .file-box {
          width: 50%;
          padding: 10px;
          box-sizing: border-box;
乐宝呗666's avatar
乐宝呗666 committed
190
        }
191 192 193
        .file-box.audio {
            width: 100%;
          }
乐宝呗666's avatar
乐宝呗666 committed
194 195 196 197 198 199
        img {
          width: 32px;
          height: auto;
          padding: 0 5px;
          box-sizing: border-box;
          vertical-align: middle;
乐宝呗666's avatar
乐宝呗666 committed
200 201
        }
      }
乐宝呗666's avatar
乐宝呗666 committed
202 203 204 205 206
      .textarea {
        line-height: 1.5;
        color: #333;
      }
    }
乐宝呗666's avatar
乐宝呗666 committed
207 208 209
  }
}
</style>