<template>
    <div class="c_box">
        <div class="choice_box" v-loading="isloading">
            <div class="title" style="display: flex; align-items: center;">
                <span class="g_t_index" style="min-width: fit-content;">{{ tindex + 1 }}</span>
                <span>{{ checkJson.title }}</span>
            </div>
            <div class="detail" v-if="checkJson.detail" v-html="checkJson.detail"
                style="color: #00000066;margin-top: 5px;">
            </div>
            <div class="choices" v-if="checkJson.courses.length">
                <div class="course" @click="openCourse()">
                    <div class="banner">
                        <img :src="courseDetail.cover" alt="">
                    </div>    
                    <div class="content">
                        <div class="c_c">
                            <span>课程名字：</span>
                            <span>{{ courseDetail.title }}</span>
                        </div>
                        <div class="c_c">
                            <span>课程类型：</span>
                            <span>{{ courseDetail.name ? courseDetail.name : '暂无' }}</span>
                        </div>
                        <div class="c_c">
                            <span>创建人：</span>
                            <span>{{ courseDetail.username }}</span>
                        </div>
                        <div class="c_c">
                            <span>协作者：</span>
                            <span>{{ courseDetail.xieName ? courseDetail.xieName : '暂无' }}</span>
                        </div>
                    </div>    
                </div>
                <div class="page" v-if="checktype == '1'">
                    <el-button type="primary" size="mini" :disabled="page == 0" @click="setPage('-1')">上一个</el-button>
                    <div class="p_page"><span>{{ page + 1 }}</span><span>/</span><span>{{ checkJson.courses.length }}</span>
                    </div>
                    <el-button type="primary" size="mini" :disabled="page == (checkJson.courses.length - 1)"
                        @click="setPage('1')">下一个</el-button>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
export default {
    props: {
        tindex: {
            type: Number
        },
        cJson: {
            type: Object,
        },
        checktype: {
            type: Number,
            default: 1
        },
        see: {
            type: Boolean,
            default: false
        }
    },
    data() {
        return {
            option: {
                1: { name: '附件' },
            },
            userid: this.$route.query.userid,
            checkJson: undefined,
            progress: 0,
            isFinishSize: 0,
            proVisible: false,
            isAllSize: 0,
            wurl: "",
            isTong: false,
            page: 0,
            isloading: false,
            courseDetail:{}
        }
    },
    computed: {

    },
    watch: {
        checkJson: {
            handler(newValue) {
                this.$emit('update:cJson', newValue)
            },
            deep: true
        },
    },
    methods: {
        depthCopy(s) {
            return JSON.parse(JSON.stringify(s));
        },
        openFileBox() {
            this.dialogVisiblefile = true
        },
        setPage(index) {
            if (index == '1') {
                this.page++
            } else if (index == '-1') {
                this.page--
            }
            this.checkJson.answer2 = this.checkJson.courses[this.page]
            this.getCourse(this.checkJson.answer2)
        },
        openCourse(){
            top.postMessage({ cid: this.checkJson.answer2, screenType: "3" }, "*");
        },
        getCourse(id) {
            this.isloading = true
            let params = {
                cid: id,
            };
            this.ajax
                .get(this.$store.state.api + "getCourseInfoTest", params)
                .then((res) => {
                    this.isloading = false
                    this.courseDetail = res.data[0][0]
                    this.courseDetail.cover = JSON.parse(this.courseDetail.cover)[0].url
                })
                .catch((err) => {
                    this.isloading = false
                    console.error(err);
                });
        }
    },
    mounted() {
        this.checkJson = this.cJson ? this.depthCopy(this.cJson) : undefined
        if(this.checkJson.courses.length){
            this.page = this.checkJson.courses.indexOf(this.checkJson.answer2)
            this.getCourse(this.checkJson.answer2)
        }
    }
}
</script>

<style scoped>
.c_box {
    width: 100%;
    position: relative;
		padding-left: 45px;
}

/* .mask {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 2;
} */

.choice_box {
    white-space: pre-line;
}

.choice_box>.title {
    font-weight: bold;
    width: 100%;
    word-break: break-all;
}

.choice_box>.choices {
    margin-top: 10px;
}

.choices > .page{
    margin-top: 10px;
    display: flex;
    align-items: center;
}

.p_page{
    margin: 0 10px;
}

.course {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.course > .banner {
    width: 200px;
    height: 120px;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #3896fc;
    box-sizing: border-box;
    padding: 5px;
    margin-right: 15px;
}
.course > .banner > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.course > .content {}
.course > .content > .c_c {}
.course > .content > .c_c + .c_c{
    margin-top: 5px;
}
.course > .content > .c_c span:nth-child(1){}
.course > .content > .c_c span:nth-child(2){}

.g_t_index{
	color: #3681FC;
	font-size: 28px;
	font-weight: bold;
	position: relative;
	margin-right: 30px;
	margin-left: -40px;
}

.g_t_index+span{
	font-weight: bold;
	font-size: 18px;
}

.g_t_index::after{
	content: "";
	width: 18px;
	height: 2px;
	position: absolute;
	right: -18px;
	top: 50%;
	transform: translateY(-50%);
	background: #3681FC;
}

.g_t_index::before{
	content: "";
	width: 6px;
	height: 6px;
	border-right: 2px solid #3681FC;
	border-top: 2px solid #3681FC;
	position: absolute;
	right: -15px;
	top: 50%;
	transform: rotate(45deg) translateY(-5px);
}
</style>