|
@@ -0,0 +1,562 @@
|
|
|
+<template>
|
|
|
+ <div class="learn-unit-container">
|
|
|
+ <div class="learn-unit-header">
|
|
|
+ <span class="name-label">名称:</span>
|
|
|
+ <Input v-model="learnUnit.name" placeholder="请输入名称..." style="width: 300px" />
|
|
|
+ <span class="header-btn-save" @click="saveData()">
|
|
|
+ <Icon type="ios-albums-outline" color="#1CD0A1" style="margin-right:5px;"/>
|
|
|
+ 保存数据
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ <div class="learn-unit-main">
|
|
|
+ <Split v-model="split1">
|
|
|
+ <div slot="left" class="demo-split-pane">
|
|
|
+ <div class="choose-content-wrap">
|
|
|
+ <Tabs type="card">
|
|
|
+ <TabPane label="课纲">
|
|
|
+ <div class="tab-wrap">
|
|
|
+ <div class="content-filter-wrap">
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">课纲范围:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.type" style="display:inline-block;" @on-change="getVolumes">
|
|
|
+ <Radio :label="1" class="radio-width">私有课纲</Radio>
|
|
|
+ <Radio :label="0" class="radio-width">校本课纲</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">学段:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.periodCode" style="display:inline-block;" @on-change="getSubjectList">
|
|
|
+ <Radio class="radio-width" v-for="(item,index) in $store.state.schoolBaseInfo.schoolBaseInfo.period" :label="item.periodCode">{{item.periodName}}</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">学科:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.subjectCode" style="display:inline-block;" @on-change="getVolumes">
|
|
|
+ <Radio class="radio-width" v-for="(item,index) in subjectList" :label="item.subjectCode" :key="index">{{item.subjectName}}</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="syllabus-content-wrap">
|
|
|
+ <div class="volume-list-wrap">
|
|
|
+ <p class="volume-list-label">
|
|
|
+ <Icon type="md-bookmarks" color="#fff" size="20" />
|
|
|
+ <span style="margin-left:5px;">册别</span>
|
|
|
+ </p>
|
|
|
+ <div :class="index == currentVolumeIndex ? 'volume-item-active volume-item':'volume-item'" v-for="(item,index) in volumeList" :key="index" @click="selectVolume(index)">
|
|
|
+ <p class="volume-name">{{item.volumeName}}</p>
|
|
|
+ <div class="volume-relation-num">
|
|
|
+ <Icon type="md-folder" title="内容资源数" style="margin-left:0" /> 8
|
|
|
+ <Icon type="md-cube" title="关联知识点数" /> 10
|
|
|
+ <Icon type="md-git-branch" title="节点数" /> 15
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <NoData style="margin-top:30px;" v-if="volumeList.length == 0"></NoData>
|
|
|
+ </div>
|
|
|
+ <div class="syllabus-tree-wrap">
|
|
|
+ <!--<Tree :data="syllabusList"></Tree>-->
|
|
|
+ <div class="syllabus-title-wrap">
|
|
|
+ <Icon type="ios-book" size="22" style="margin-right:5px;" />
|
|
|
+ <span>{{volumeList.length > 0 ? volumeList[currentVolumeIndex].volumeName:'暂无数据'}}</span>
|
|
|
+ </div>
|
|
|
+ <el-tree v-if="syllabusList.length != 0" :data="syllabusList" :props="defaultProps" style="width:100%;" show-checkbox></el-tree>
|
|
|
+ <NoData style="margin-top:30px;" v-if="syllabusList.length == 0"></NoData>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </TabPane>
|
|
|
+ <TabPane label="内容">
|
|
|
+ <div class="tab-wrap">
|
|
|
+ <div class="content-filter-wrap">
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">资源范围:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.type" style="display:inline-block;">
|
|
|
+ <Radio label="0" class="radio-width">私有资源</Radio>
|
|
|
+ <Radio label="1" class="radio-width">校本资源</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">类型:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.periodCode" style="display:inline-block;" @on-change="getSubjectList">
|
|
|
+ <Radio class="radio-width" v-for="(item,index) in contentTypeList" :label="item.type">{{item.label}}</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <Input class="seach-input" suffix="ios-search" placeholder="关键字搜索" clearable style="width: 240px" size="small"/>
|
|
|
+ </div>
|
|
|
+ <div class="file-content-wrap">
|
|
|
+ <Table :columns="fileColumns" :data="fileListShow" class="animated fadeIn" @on-select="selectFile" @on-select-cancel="cancelSelectFile">
|
|
|
+ <template slot-scope="{ row, index }" slot="size">
|
|
|
+ <div>
|
|
|
+ {{row.size/1204 > 1024 ? (row.size/1204/1204).toFixed(1) + 'M': (row.size/1204).toFixed(1) + 'KB'}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="{ row, index }" slot="createTime">
|
|
|
+ <div>
|
|
|
+ {{formatDate(row.createTime)}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="{ row, index }" slot="fileName">
|
|
|
+ <div>
|
|
|
+ <div class="file-icon">
|
|
|
+ <img v-if="row.extension == 'ppt' || row.extension == 'pptx'" src="../../assets/icon/ppt50.png" width="15" />
|
|
|
+ <img v-else-if="row.extension == 'doc' || row.extension == 'docx'" src="../../assets/icon/word50.png" width="15" />
|
|
|
+ <img v-else-if="row.extension == 'xls' || row.extension == 'xlsx'" src="../../assets/icon/xls50.png" width="15" />
|
|
|
+ <img v-else-if="row.extension == 'pdf'" src="../../assets/icon/pdf50.png" width="15" />
|
|
|
+ <img v-else-if="row.type == 'picture'" src="../../assets/icon/icon_img.png" width="15" />
|
|
|
+ <img v-else-if="row.type == 'video'" src="../../assets/icon/icon_video.png" width="15" />
|
|
|
+ <img v-else src="../../assets/icon/prelearn50.png" width="15" />
|
|
|
+ </div>
|
|
|
+ <EditableLabel :ref="'fileNameLabel'+index" :content="row.fileName" @editComplete="handleEditFileName($event,index)">
|
|
|
+ </EditableLabel>
|
|
|
+ <!--<span style="margin-left:8px;vertical-align: text-bottom;">{{row.fileName}}</span>-->
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot-scope="{ row, index }" slot="knowledges">
|
|
|
+
|
|
|
+ </template>
|
|
|
+ <template slot-scope="{ row,index }" slot="action">
|
|
|
+ <div class="item-tools">
|
|
|
+ <Icon type="md-download" size="18" color="white" :title="$t('teachContent.tips3')" @click="downloadFile(index)" />
|
|
|
+ <Icon v-show="row.type === 'picture' || row.type === 'video' || row.extension == 'pdf'" type="md-eye" size="18" color="white" :title="$t('teachContent.tips4')" @click="openPreviewFile(index)" />
|
|
|
+ <Icon type="md-infinite" size="18" color="white" :title="$t('teachContent.tips5')" @click="bindKnowledge(index)" />
|
|
|
+ <Icon type="md-create" size="18" color="white" :title="$t('teachContent.tips6')" @click="setFileNameEdit(index)" />
|
|
|
+ <Icon type="md-trash" size="18" color="white" :title="$t('teachContent.tips7')" @click="delFile(index)" />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </Table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </TabPane>
|
|
|
+ <TabPane label="题目">
|
|
|
+ <div class="tab-wrap">
|
|
|
+ <div class="content-filter-wrap">
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">题目范围:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.type" style="display:inline-block;">
|
|
|
+ <Radio :label="0" class="radio-width">私有题库</Radio>
|
|
|
+ <Radio :label="1" class="radio-width">校本题库</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div class="content-filter-item">
|
|
|
+ <span class="content-filter-label">题型:</span>
|
|
|
+ <RadioGroup v-model="syllabusFilter.periodCode" style="display:inline-block;" @on-change="getSubjectList">
|
|
|
+ <Radio label="All" class="radio-width">全部</Radio>
|
|
|
+ <Radio label="Single" class="radio-width">单选题</Radio>
|
|
|
+ <Radio label="Multiple" class="radio-width">多选题</Radio>
|
|
|
+ <Radio label="Judge" class="radio-width">判断题</Radio>
|
|
|
+ <Radio label="Complete" class="radio-width">填空题</Radio>
|
|
|
+ <Radio label="Subjective" class="radio-width">问答题</Radio>
|
|
|
+ <Radio label="Compose" class="radio-width">综合题</Radio>
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <Input class="seach-input" suffix="ios-search" placeholder="关键字搜索" clearable style="width: 240px" size="small" />
|
|
|
+ </div>
|
|
|
+ <div class="choose-question-wrap">
|
|
|
+ <vuescroll v-if="questionList.length > 0">
|
|
|
+ <QuestionList :showSelect="true" @seleteQuestion="seleteQuestion" :questions="questionList"></QuestionList>
|
|
|
+ </vuescroll>
|
|
|
+ <NoData style="margin-top:30px;" v-if="questionList.length == 0"></NoData>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </TabPane>
|
|
|
+ </Tabs>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div slot="right" class="demo-split-pane">
|
|
|
+ <div class="preview-content-wrap">
|
|
|
+ <vuescroll>
|
|
|
+ <p class="preview-label">已选资源</p>
|
|
|
+ <p class="content-type-label">内容:{{learnUnit.files.length}}个</p>
|
|
|
+ <div class="content-file-wrap">
|
|
|
+ <NoData style="margin-top:30px;" v-if="learnUnit.files.length == 0"></NoData>
|
|
|
+ <p v-for="(item,index) in learnUnit.files">{{item.fileName}}</p>
|
|
|
+ </div>
|
|
|
+ <p class="content-type-label">题目:{{learnUnit.questions.length}}道</p>
|
|
|
+ <div class="content-question-wrap">
|
|
|
+ <NoData v-if="learnUnit.questions.length == 0" style="margin-top:30px;"></NoData>
|
|
|
+ <QuestionList v-else :questions="learnUnit.questions"></QuestionList>
|
|
|
+ </div>
|
|
|
+ </vuescroll>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Split>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+ import questions from '../evaluation/index/list.json'
|
|
|
+ import EditableLabel from '@/common/EditableLabel.vue'
|
|
|
+ import NoData from '@/common/NoData.vue'
|
|
|
+ import JSONPath from 'jsonpath'
|
|
|
+ import QuestionList from '@/components/learnactivity/QuestionList.vue'
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ learnUnit: {
|
|
|
+ name:'',
|
|
|
+ files: [],
|
|
|
+ questions:[]
|
|
|
+ },
|
|
|
+ questionList: [],
|
|
|
+ searchBefore:[],
|
|
|
+ fileList:[],
|
|
|
+ fileListShow:[],
|
|
|
+ fileColumns: [],
|
|
|
+ defaultProps: {
|
|
|
+ children: 'children',
|
|
|
+ label: 'title'
|
|
|
+ },
|
|
|
+ volumeCode:'',
|
|
|
+ currentVolumeIndex:0,
|
|
|
+ syllabusList:[],
|
|
|
+ volumeList:[],
|
|
|
+ split1: 0.65,
|
|
|
+ syllabusFilter: {
|
|
|
+ type: 1,
|
|
|
+ periodCode: '',
|
|
|
+ subjectCode:'',
|
|
|
+ status: 1,
|
|
|
+ schoolCode:'HBCN'
|
|
|
+ },
|
|
|
+ subjectList: [],
|
|
|
+ contentTypeList:[
|
|
|
+ {
|
|
|
+ label:this.$t('teachContent.filterAll'),
|
|
|
+ type: 'all',
|
|
|
+ icon: 'md-apps'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: this.$t('teachContent.filterPicture'),
|
|
|
+ type: 'picture',
|
|
|
+ icon: 'ios-image-outline'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: this.$t('teachContent.filterVideo'),
|
|
|
+ type: 'video',
|
|
|
+ icon: 'logo-youtube'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: this.$t('teachContent.filterDoc'),
|
|
|
+ type: 'document',
|
|
|
+ icon: 'logo-wordpress'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: this.$t('teachContent.filterOther'),
|
|
|
+ type: 'other',
|
|
|
+ icon: 'md-filing'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ demoLoginInfo: {
|
|
|
+ user: 'admin',
|
|
|
+ TEAMModelId: 'habook#0001',
|
|
|
+ school: '醍摩豆书院',
|
|
|
+ schoolCode: 'HBCN'
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ NoData,
|
|
|
+ EditableLabel,
|
|
|
+ QuestionList
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ seleteQuestion(question) {
|
|
|
+ let flag = true
|
|
|
+ for (let item of this.learnUnit.questions) {
|
|
|
+ if (item.shaCode == question.shaCode) {
|
|
|
+ flag = false
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (flag) {
|
|
|
+ this.learnUnit.questions.push(question)
|
|
|
+ } else {
|
|
|
+ this.$Message.warning('此题目已添加!')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ cancelSelectFile(selection, row) {
|
|
|
+ for (let i = 0; i < this.learnUnit.files.length; i++) {
|
|
|
+ if (row.sha1Code == this.learnUnit.files[i].sha1Code) {
|
|
|
+ this.learnUnit.files.splice(i, 1)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ selectFile(selection, row) {
|
|
|
+ this.learnUnit.files.push(row)
|
|
|
+ },
|
|
|
+ formatDate(timestamp) {
|
|
|
+ let date = new Date(timestamp)
|
|
|
+ return date.toLocaleString()
|
|
|
+ },
|
|
|
+ findFileList() {
|
|
|
+ this.$api.teachContent.findResourceByDict(
|
|
|
+ {
|
|
|
+ TEAMModelId: this.demoLoginInfo.TEAMModelId
|
|
|
+ }
|
|
|
+ ).then(
|
|
|
+ (res) => {
|
|
|
+ if (res.error == null) {
|
|
|
+ this.fileList = res.result.data
|
|
|
+ this.fileListShow = this.fileList
|
|
|
+ this.searchBefore = this.fileList
|
|
|
+ //this.storageSpace = this.fileList.reduce(
|
|
|
+ // (total, item) => {
|
|
|
+ // return total + item.size
|
|
|
+ // }, 0
|
|
|
+ //)
|
|
|
+ } else {
|
|
|
+ this.$Message.warning(error.message)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ alert('API error!')
|
|
|
+ }
|
|
|
+ )
|
|
|
+ },
|
|
|
+ initData() {
|
|
|
+ this.fileColumns = [
|
|
|
+ {
|
|
|
+ type: 'selection',
|
|
|
+ width: 60,
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: this.$t('teachContent.tableC1'),
|
|
|
+ slot: 'fileName',
|
|
|
+ key: 'fileName',
|
|
|
+ sortable: true
|
|
|
+ },
|
|
|
+ //{
|
|
|
+ // title: this.$t('teachContent.tableC2'),
|
|
|
+ // slot: 'action',
|
|
|
+ // width: 210,
|
|
|
+ // align: 'center'
|
|
|
+ //},
|
|
|
+ //{
|
|
|
+ // title: this.$t('teachContent.tableC3'),
|
|
|
+ // slot: 'knowledges',
|
|
|
+ // width: 180,
|
|
|
+ // align: 'center'
|
|
|
+ //},
|
|
|
+ {
|
|
|
+ title: this.$t('teachContent.tableC4'),
|
|
|
+ slot: 'size',
|
|
|
+ key: 'size',
|
|
|
+ width: 110,
|
|
|
+ align: 'center',
|
|
|
+ sortable: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: this.$t('teachContent.tableC5'),
|
|
|
+ key: 'relationNum',
|
|
|
+ width: 160,
|
|
|
+ align: 'center',
|
|
|
+ sortable: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: this.$t('teachContent.tableC6'),
|
|
|
+ slot: 'createTime',
|
|
|
+ key: 'createTime',
|
|
|
+ width: 200,
|
|
|
+ sortable: true
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ selectVolume(index) {
|
|
|
+ this.currentVolumeIndex = index
|
|
|
+ this.volumeCode = this.volumeList[this.currentVolumeIndex].volumeCode
|
|
|
+ this.getSyllabus()
|
|
|
+ },
|
|
|
+ getSyllabus() {
|
|
|
+ this.$api.syllabus.GetTreeByVolume({
|
|
|
+ volumeCode: this.volumeCode
|
|
|
+ }).then(
|
|
|
+ (res) => {
|
|
|
+ if (res.error == null) {
|
|
|
+ this.syllabusList = res.result.data
|
|
|
+ } else {
|
|
|
+ alert('API error!')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ alert('API error!')
|
|
|
+ }
|
|
|
+ )
|
|
|
+ },
|
|
|
+ getVolumes() {
|
|
|
+ this.currentVolumeIndex = 0
|
|
|
+ this.$api.syllabus.GetVolumes(this.syllabusFilter).then(
|
|
|
+ (res) => {
|
|
|
+ if (res.error == null) {
|
|
|
+ this.volumeList = res.result.data
|
|
|
+ if (this.volumeList.length == 0) {
|
|
|
+ this.syllabusList.length = []
|
|
|
+ } else {
|
|
|
+ this.volumeCode = this.volumeList[this.currentVolumeIndex].volumeCode
|
|
|
+ this.getSyllabus()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ alert('API error!')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ alert('API error!')
|
|
|
+ }
|
|
|
+ )
|
|
|
+ },
|
|
|
+ getSubjectList() {
|
|
|
+ let result = JSONPath.query(this.$store.state.schoolBaseInfo.schoolBaseInfo.period, "$..[?(@.periodCode=='" + this.syllabusFilter.periodCode + "')]")
|
|
|
+ if (result.length > 0) {
|
|
|
+ this.subjectList = result[0].subjects
|
|
|
+ if (this.subjectList.length > 0) {
|
|
|
+ this.syllabusFilter.subjectCode = this.subjectList[0].subjectCode
|
|
|
+ this.getVolumes()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.subjectList.length = 0
|
|
|
+ this.volumeList.length = 0
|
|
|
+ this.syllabusList.length = 0
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getSchoolBaseInfo() {
|
|
|
+ this.$store.dispatch('schoolBaseInfo/getSchoolBaseData').then(
|
|
|
+ (res) => {
|
|
|
+ if (res.code == 2) {
|
|
|
+ alert('数据为空!')
|
|
|
+ } else {
|
|
|
+ if (this.$store.state.schoolBaseInfo.schoolBaseInfo.period.length > 0) {
|
|
|
+ this.syllabusFilter.periodCode = this.$store.state.schoolBaseInfo.schoolBaseInfo.period[0].periodCode
|
|
|
+ this.subjectList = this.$store.state.schoolBaseInfo.schoolBaseInfo.period[0].subjects
|
|
|
+ if (this.subjectList.length > 0) {
|
|
|
+ this.syllabusFilter.subjectCode = this.subjectList[0].subjectCode
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.getVolumes()
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ alert('API error!')
|
|
|
+ }
|
|
|
+ )
|
|
|
+ },
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.initData()
|
|
|
+ this.getSchoolBaseInfo()
|
|
|
+ this.findFileList()
|
|
|
+ Date.prototype.toLocaleString = function () {
|
|
|
+ return this.getFullYear() + "/" + (this.getMonth() + 1) + "/" + this.getDate();
|
|
|
+ }
|
|
|
+ this.questionList = questions.result.data
|
|
|
+ console.log(this.questionList)
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style scoped lang="less">
|
|
|
+ @import "./CreateLearnUnit.less";
|
|
|
+</style>
|
|
|
+<style>
|
|
|
+ .learn-unit-header .ivu-input {
|
|
|
+ background: none;
|
|
|
+ color:white;
|
|
|
+ border-color:#424242;
|
|
|
+ font-size:16px;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-split-trigger-vertical {
|
|
|
+ width:3px;
|
|
|
+ background:#525252;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-split-trigger {
|
|
|
+ border-color:#424242;
|
|
|
+ border:none;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-split-trigger-bar-con.vertical {
|
|
|
+ left:0px;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-split-trigger-vertical .ivu-split-trigger-bar {
|
|
|
+ background:white;
|
|
|
+ width:3px;
|
|
|
+ }
|
|
|
+ .learn-unit-main .demo-split-pane {
|
|
|
+ height:100%;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-nav-container {
|
|
|
+ height: auto;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab {
|
|
|
+ padding-top: 3px;
|
|
|
+ height: auto;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-tabs-bar {
|
|
|
+ border-color: #404040;
|
|
|
+ }
|
|
|
+
|
|
|
+ .learn-unit-main .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab {
|
|
|
+ border: none;
|
|
|
+ background-color: #303030;
|
|
|
+ color: white;
|
|
|
+ margin-right: 2px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .learn-unit-main .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active {
|
|
|
+ background-color: #2c2c2c;
|
|
|
+ color: white;
|
|
|
+ font-weight:600;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-tabs, .learn-unit-main .ivu-tabs .ivu-tabs-content-animated {
|
|
|
+ height:100%;
|
|
|
+ }
|
|
|
+ .learn-unit-main .ivu-tabs-bar {
|
|
|
+ margin-bottom:0px;
|
|
|
+ }
|
|
|
+ .tab-wrap .ivu-input {
|
|
|
+ background: none;
|
|
|
+ color: white;
|
|
|
+ border-color:#606060;
|
|
|
+ border-radius:15px;
|
|
|
+ }
|
|
|
+ .volume-relation-num .ivu-icon {
|
|
|
+ margin-left:15px;
|
|
|
+ }
|
|
|
+ .syllabus-tree-wrap .el-tree {
|
|
|
+ color: white;
|
|
|
+ background: none;
|
|
|
+ padding-top: 10px;
|
|
|
+ padding-bottom: 100px;
|
|
|
+ }
|
|
|
+ .syllabus-tree-wrap .el-tree-node__content {
|
|
|
+ height: 50px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .syllabus-tree-wrap .el-tree-node__content:hover {
|
|
|
+ height: 50px;
|
|
|
+ background: #313131;
|
|
|
+ }
|
|
|
+
|
|
|
+ .syllabus-tree-wrap .el-tree-node:focus > .el-tree-node__content {
|
|
|
+ background: #313131;
|
|
|
+ }
|
|
|
+
|
|
|
+ .syllabus-tree-wrap .el-tree__empty-block {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .file-content-wrap .ivu-table, .file-content-wrap .ivu-table td, .file-content-wrap .ivu-table th, .content-file-list .ivu-table:before {
|
|
|
+ background: none;
|
|
|
+ color: white;
|
|
|
+ border-color: #424242;
|
|
|
+ }
|
|
|
+
|
|
|
+ .file-content-wrap .ivu-table-row-hover .item-tools {
|
|
|
+ opacity: 1;
|
|
|
+ transition: opacity 1s;
|
|
|
+ }
|
|
|
+
|
|
|
+ .file-content-wrap .ivu-table-row-hover {
|
|
|
+ background: #303030;
|
|
|
+ }
|
|
|
+ .file-content-wrap .ivu-table:before {
|
|
|
+ height:0px;
|
|
|
+ }
|
|
|
+</style>
|