<template>
    <div class="c_box">
        <!-- <div class="mask"></div> -->
        <div v-if="!checkJson">暂未设置题目</div>
        <div v-else class="choice_box">
            <!-- <div class="title"><div>{{ `（${option[checkJson.type].name}）` }}</div><div v-html="checkJson.title"></div></div> -->
            <div class="title">
                {{ `（${option[checkJson.type].name}）` + checkJson.title }}
                <!-- <span>（{{ checkJson.answer ? '参考答案：'+checkJson.answer : '暂无参考答案' }}）</span> -->
                <!-- </div><div v-html="checkJson.title"></div> -->
            </div>
            <div class="choices">
                <textarea  :readonly="checktype == 2" rows="2" v-autoHeight="68" class="binfo_input binfo_textarea" cols v-model="checkJson.answer2"
                    placeholder=""></textarea>
            </div>
        </div>
    </div>
</template>

<script>
export default {
    props: {
        cJson: {
            type: Object,
        },
        checktype: {
            type: Number,
            default: 1
        }
    },
    data() {
        return {
            option: {
                1: { name: '问答题' },
            },
            checkJson: undefined
        }
    },
    watch: {
        checkJson: {
            handler(newValue) {
                this.$emit('update:cJson', newValue)
            },
            deep: true
        },
    },
    directives: {
        autoHeight: {
            update(el, binding) {
                const { value } = binding
                if (value && typeof value === 'number') {
                    el.style.height = `${value}px`
                } else {
                    el.style.height = 'auto'
                }
            },
            componentUpdated(el) {
                el.style.height = `${el.scrollHeight + 5}px`
            },
        },
    },
    methods: {
        depthCopy(s) {
            return JSON.parse(JSON.stringify(s));
        },
    },
    mounted() {
        this.checkJson = this.cJson ? this.depthCopy(this.cJson) : undefined
        setTimeout(() => {
            this.checkJson.answer2 += "*0*%*";
            setTimeout(() => {
                this.checkJson.answer2 = this.checkJson.answer2.replaceAll("*0*%*", "");
            }, 0);
        }, 100);
    }
}
</script>

<style scoped>
.c_box {
    width: 100%;
    position: relative;
}

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

.choice_box {}

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

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

.binfo_input {
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    display: block;
    min-width: 0;
    outline: none;
    box-sizing: border-box;
    background: none;
    border: none;
    border-radius: 4px;
    background: #fff;
    font-size: 16px;
    resize: none;
    font-family: 'Microsoft YaHei';
    min-height: 48px;
    /* border: 1px solid #3682fc00; */
    border: 1.5px solid #CAD1DC;
}

.binfo_textarea {
    border: 1.5px solid #CAD1DC;
    font-size: 16px;
    resize: none;
    /* background: #f6f6f6; */
    font-family: 'Microsoft YaHei';
}

.binfo_input:focus-visible {
    border: 1.5px solid #3681FC !important;
}
</style>