156 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | ||
|   <div class="hotDetail">
 | ||
|     <ai-detail>
 | ||
|       <template slot="title">
 | ||
|         <ai-title title="热点话题详情" :isShowBack="true" :isShowBottomBorder="true"
 | ||
|                   @onBackClick="$emit('goBack')"></ai-title>
 | ||
|       </template>
 | ||
|       <template slot="content">
 | ||
|         <ai-card title="标题信息">
 | ||
|           <template slot="content">
 | ||
|             <ai-wrapper label-width="70px" :columnsNumber="1">
 | ||
|               <ai-info-item label="话题标题">{{ detailObj.title }}</ai-info-item>
 | ||
|               <ai-info-item label="关键字" v-if="detailObj.keyWords">
 | ||
|                 <el-tag
 | ||
|                     v-for="tag in detailObj.keyWords.split(',')"
 | ||
|                     :key="tag"
 | ||
|                     effect="plain">
 | ||
|                   {{ tag }}
 | ||
|                 </el-tag>
 | ||
|               </ai-info-item>
 | ||
|               <ai-info-item label="封面图片">
 | ||
|                 <img :src="detailObj.thumbUrl" v-viewer
 | ||
|                      alt="">
 | ||
|               </ai-info-item>
 | ||
|             </ai-wrapper>
 | ||
|           </template>
 | ||
|         </ai-card>
 | ||
|         <ai-card class="card" v-for="(item,index) in detailObj.contents" :key="index">
 | ||
|           <template slot="title">{{ item.question }}</template>
 | ||
|           <template slot="right">话题来源:{{ item.questionSource }}</template>
 | ||
|           <template slot="content">
 | ||
|             <div class="wrap">
 | ||
|               <header>
 | ||
|                 <b>{{ item.answerSource }}</b>  回复
 | ||
|               </header>
 | ||
|               <p>{{ item.answer }}</p>
 | ||
|               <div v-viewer>
 | ||
|                 <img :src="p.url"
 | ||
|                      v-for="(p,q) in item.files" :key="q" alt="">
 | ||
|               </div>
 | ||
|             </div>
 | ||
|           </template>
 | ||
|         </ai-card>
 | ||
|       </template>
 | ||
|     </ai-detail>
 | ||
|   </div>
 | ||
| </template>
 | ||
| 
 | ||
| <script>
 | ||
| export default {
 | ||
|   name: "hotDetail",
 | ||
|   label: "热点详情",
 | ||
|   props: {
 | ||
|     instance: Function,
 | ||
|     dict: Object,
 | ||
|     permissions: Function,
 | ||
|     areaId: String,
 | ||
|     detail: Object
 | ||
|   },
 | ||
|   data() {
 | ||
|     return {
 | ||
|       detailObj: {},
 | ||
|     }
 | ||
|   },
 | ||
|   methods: {
 | ||
|     getDetail() {
 | ||
|       this.instance.post(`/app/apphotsubject/detail`, null, {
 | ||
|         params: {id: this.detail.id}
 | ||
|       }).then(res => {
 | ||
|         if (res && res.data) {
 | ||
|           this.detailObj = res.data
 | ||
|         }
 | ||
|       })
 | ||
|     },
 | ||
|   },
 | ||
|   created() {
 | ||
|     this.getDetail()
 | ||
|   }
 | ||
| }
 | ||
| </script>
 | ||
| 
 | ||
| <style lang="scss" scoped>
 | ||
| .hotDetail {
 | ||
|   height: 100%;
 | ||
|   overflow: hidden;
 | ||
| 
 | ||
|   .card {
 | ||
|     :deep( .aibar ) {
 | ||
|       height: 94px !important;
 | ||
|       flex-direction: column;
 | ||
|       align-items: flex-start;
 | ||
|       margin-bottom: 0px !important;
 | ||
|       padding: 16px !important;
 | ||
| 
 | ||
|       & > div {
 | ||
|         line-height: 24px;
 | ||
| 
 | ||
|         &:last-child {
 | ||
|           font-size: 14px;
 | ||
|           color: #888888;
 | ||
|         }
 | ||
|       }
 | ||
| 
 | ||
|     }
 | ||
| 
 | ||
|     :deep( .ai-card__body ) {
 | ||
|       padding: 12px 20px 22px !important;
 | ||
|     }
 | ||
| 
 | ||
|     .wrap {
 | ||
|       background-color: #F5F6F9;
 | ||
|       box-sizing: border-box;
 | ||
|       padding: 16px;
 | ||
| 
 | ||
|       header {
 | ||
|         height: 40px;
 | ||
|         font-size: 16px;
 | ||
|         color: #222222;
 | ||
|         line-height: 24px;
 | ||
|         display: flex;
 | ||
|         align-items: center;
 | ||
|         border-bottom: 1px solid #EEEEEE;
 | ||
| 
 | ||
|         b {
 | ||
|           color: #2266FF;
 | ||
|         }
 | ||
|       }
 | ||
| 
 | ||
|       p {
 | ||
|         margin-top: 16px;
 | ||
|         font-size: 16px;
 | ||
|         color: #222222;
 | ||
|         line-height: 32px;
 | ||
|         text-indent: 2em;
 | ||
|       }
 | ||
|     }
 | ||
|   }
 | ||
| 
 | ||
|   :deep( .el-tag) {
 | ||
|     background: #F3F4F7;
 | ||
|     border-radius: 2px;
 | ||
|     color: #222222;
 | ||
|     border: 1px solid #D0D4DC;
 | ||
|     margin-right: 8px;
 | ||
|   }
 | ||
| 
 | ||
|   img {
 | ||
|     width: 160px;
 | ||
|     height: 160px;
 | ||
|     border-radius: 2px;
 | ||
|     margin-top: 16px;
 | ||
|     margin-right: 8px;
 | ||
|   }
 | ||
| }
 | ||
| </style>
 |