185 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
  <div class="Detail">
 | 
						|
    <div class="header-top">
 | 
						|
      <div class="titles">{{data.title}}</div>
 | 
						|
      <div class="flex">
 | 
						|
        <span class="left">
 | 
						|
          <span class="type" v-if="data.categoryName">{{data.categoryName}}</span>
 | 
						|
          <span class="times">{{ data.createTime }}</span>
 | 
						|
        </span>
 | 
						|
 | 
						|
        <span class="right">
 | 
						|
          <img src="./img/view-icon.png" alt="">
 | 
						|
          <span>{{data.viewCount}}</span>
 | 
						|
        </span>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <div class="header-middle">
 | 
						|
      <span class="contsnts">{{data.content}}</span>
 | 
						|
      
 | 
						|
      
 | 
						|
    </div>
 | 
						|
    <div class="img-list" v-if="data.files && data.files.length">
 | 
						|
      <div class="title">图片</div>
 | 
						|
      <img :src="item.accessUrl" alt="" v-for="(item, index) in data.files" :key="index" />
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
export default {
 | 
						|
  name: 'Detail',
 | 
						|
  components: {},
 | 
						|
  props: {},
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      data: {},
 | 
						|
      id: '',
 | 
						|
      listName: '',
 | 
						|
      selectList: []
 | 
						|
    }
 | 
						|
  },
 | 
						|
  computed: {},
 | 
						|
  watch: {},
 | 
						|
  onLoad(o) {
 | 
						|
    this.id = o.id
 | 
						|
    this.listName = o.listName
 | 
						|
    this.getType()
 | 
						|
    uni.setNavigationBarTitle({title: this.listName})
 | 
						|
  },
 | 
						|
  mounted() {},
 | 
						|
  methods: {
 | 
						|
    getDetail() {
 | 
						|
      this.$http.post(`/app/appcontentinfo/queryDetailById?id=${this.id}`).then((res) => {
 | 
						|
        if (res?.data) {
 | 
						|
          this.data = res.data
 | 
						|
        }
 | 
						|
      })
 | 
						|
    },
 | 
						|
    getType() {
 | 
						|
      this.$http.post(`/app/appcontentmoduleinfo/listByName?names=${this.listName}`).then((res) => {
 | 
						|
        if (res.code == 0) {
 | 
						|
          if(res.data && res.data.length) {
 | 
						|
            this.selectList = res.data[0].categoryList
 | 
						|
          }
 | 
						|
          this.getDetail()
 | 
						|
        }
 | 
						|
      })
 | 
						|
    },
 | 
						|
  },
 | 
						|
}
 | 
						|
</script>
 | 
						|
 | 
						|
<style scoped lang="scss">
 | 
						|
uni-page-body {
 | 
						|
  height: 100%;
 | 
						|
}
 | 
						|
.Detail {
 | 
						|
  height: 100%;
 | 
						|
  padding: 0 32px;
 | 
						|
  background: #fff;
 | 
						|
  .header-top {
 | 
						|
    padding: 40px 0 32px 0;
 | 
						|
    .titles {
 | 
						|
      font-size: 48px;
 | 
						|
      font-weight: 600;
 | 
						|
      width: 100%;
 | 
						|
      font-size: 48px;
 | 
						|
      font-family: PingFangSC-Semibold, PingFang SC;
 | 
						|
      font-weight: 600;
 | 
						|
      color: #333;
 | 
						|
      line-height: 66px;
 | 
						|
      word-break: break-all;
 | 
						|
      margin-bottom: 16px;
 | 
						|
    }
 | 
						|
 | 
						|
    .titles-bottom {
 | 
						|
      margin-top: 16px;
 | 
						|
      font-size: 30px;
 | 
						|
      color: #999999;
 | 
						|
      .to-left {
 | 
						|
        margin-left: 32px;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  .header-middle {
 | 
						|
    padding: 64px 0 48px 0;
 | 
						|
    .contsnts {
 | 
						|
      font-size: 36px;
 | 
						|
      line-height: 1.5;
 | 
						|
      word-break: break-all;
 | 
						|
    }
 | 
						|
    img {
 | 
						|
      margin-top: 30px;
 | 
						|
      width: 686px;
 | 
						|
      height: 486px;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  .img-list{
 | 
						|
    img{
 | 
						|
      width: 204px;
 | 
						|
      height: 204px;
 | 
						|
      margin: 0 8px 8px 0;
 | 
						|
    }
 | 
						|
    .title{
 | 
						|
      width: 100%;
 | 
						|
      line-height: 112px;
 | 
						|
      background: #FFF;
 | 
						|
      font-size: 32px;
 | 
						|
      font-family: PingFangSC-Regular, PingFang SC;
 | 
						|
      color: #999;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  .flex {
 | 
						|
    display: flex;
 | 
						|
    justify-content: space-between;
 | 
						|
 | 
						|
    .left {
 | 
						|
      .garydiv {
 | 
						|
        font-size: 28px;
 | 
						|
        color: #999999;
 | 
						|
        background: #eeeeee;
 | 
						|
        border-radius: 24px;
 | 
						|
        padding: 4px 16px;
 | 
						|
      }
 | 
						|
 | 
						|
      .times {
 | 
						|
        font-size: 28px;
 | 
						|
        color: #999999;
 | 
						|
      }
 | 
						|
 | 
						|
      .type{
 | 
						|
        display: inline-block;
 | 
						|
        padding: 0 16px;
 | 
						|
        line-height: 48px;
 | 
						|
        background: #EEE;
 | 
						|
        border-radius: 24px;
 | 
						|
        font-size: 24px;
 | 
						|
        font-family: PingFangSC-Regular, PingFang SC;
 | 
						|
        font-weight: 400;
 | 
						|
        color: #999;
 | 
						|
        margin-right: 16px;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    .right {
 | 
						|
      font-size: 28px;
 | 
						|
      color: #999;
 | 
						|
      img{
 | 
						|
        width: 32px;
 | 
						|
        height: 32px;
 | 
						|
        vertical-align: middle;
 | 
						|
        margin-right: 8px;
 | 
						|
      }
 | 
						|
      .font {
 | 
						|
        color: #4181ff;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 |