detail.vue 2.09 KB
<template>
    <div class="app-container">
        <section class="qg-container">
        <h4 class="qg-container__title">详情</h4>
        <el-form :model="bookInfo" class="qg-edit-form" label-width="120px">
       <el-form-item label="编号" prop="code">
         {{ bookInfo.code || '--' }}
      </el-form-item>
       <el-form-item label="书名" prop="name">
         {{ bookInfo.name || '--' }}
      </el-form-item>
       <el-form-item label="类别" prop="category">
			<div v-if="bookInfo.category">
              <span v-for="item in bookInfo.category.split(',')">{{componentsData.categoryOptions[item]}}</span>
            </div>
            <span v-else> -- </span>
      </el-form-item>
       <el-form-item label="简介" prop="description">
         {{ bookInfo.description || '--' }}
      </el-form-item>
       <el-form-item label="封面" prop="picture">
           <div v-if="bookInfo.picture && bookInfo.pictureEntity">	
             <el-link type="primary" :href="bookInfo.pictureEntity.downloadUrl" target="_blank">{{ bookInfo.pictureEntity.name}}</el-link>
            </div>
            <span v-else>--</span>
      </el-form-item>
            <el-form-item>
              <el-button @click="goBack">返回</el-button>
  			</el-form-item>
        </el-form>
        </section>
    </div>
</template>
                    
<script>
    import {book} from '@/api/moudles/zxm/book';
  	import {componentsData} from './config.js'
  	
    export default {
        name:'BookDetail',
        data() {
            const id = this.$route.query.id;
            return {
                componentsData,
                id,
                bookInfo: {}
            };
        },
        created() {
            if (this.id) {
                this.book(this.id);
            }
        },
        methods: {
            book(id) {
                book(id).then(response => {
      				if (response.data) {
                      	this.bookInfo = response.data;
                    }
                });
            },
            goBack() {
                 this.$router.back();
            }
        }
    };
</script>