Pārlūkot izejas kodu

Merge branch 'develop3.0' of http://106.12.23.251:10080/TEAMMODEL/TEAMModelOS into develop3.0

CrazyIter 5 gadi atpakaļ
vecāks
revīzija
9a65acdd74

+ 1 - 1
TEAMModelOS/ClientApp/src/api/index.js

@@ -85,7 +85,7 @@ export default {
 
   // 新建试卷到试卷库
   SaveAnalyzeHtml: function (data) {
-    return post('api/ImportExercise/AnalyzeHtml', data)
+    return post('/api/ImportExercise/AnalyzeHtml', data)
   },
 
   // 获取所有学校信息

+ 6 - 0
TEAMModelOS/ClientApp/src/api/newEvaluation.js

@@ -0,0 +1,6 @@
+import { fetch, post } from '@/filters/http'
+export default {
+  SaveAnalyzeHtml: function (data) {
+    return post('/api/ImportExercise/AnalyzeHtml', data)
+  }
+}

BIN
TEAMModelOS/ClientApp/src/assets/loading/logo_loading.png


+ 3 - 0
TEAMModelOS/ClientApp/src/components/learnactivity/QuestionList.less

@@ -77,4 +77,7 @@
   right: 60px;
   top: 10px;
   cursor: pointer;
+}
+.choose-question-btn:hover {
+  color: cyan;
 }

+ 1 - 1
TEAMModelOS/ClientApp/src/components/learnactivity/QuestionList.vue

@@ -41,7 +41,7 @@
     },
     methods: {
       selectQuestion(data) {
-        this.$emit('seleteQuestion',data)
+        this.$emit('seleteQuestion', data)
       },
       groupBy(array, key) {
         const groups = {}

+ 1 - 1
TEAMModelOS/ClientApp/src/components/student-analysis/total/BaseClassRadar.vue

@@ -120,7 +120,7 @@
                     ],
                     color: ['#7db41b', '#b1eadb'],
                 };
-
+                 
                 // 绘制图表
                 myRadar.setOption(option);
                 myRadar.resize()

+ 1 - 1
TEAMModelOS/ClientApp/src/view/evaluation/index/CreateExercises.css

@@ -27,7 +27,7 @@
         display: flex;
         flex-direction: row;
         align-items: center;
-        justify-content:space-between;
+        justify-content:start;
     }
 
 .exersices-attr {

+ 19 - 1
TEAMModelOS/ClientApp/src/view/evaluation/index/CreateExercises.vue

@@ -3,6 +3,20 @@
     <span class="ev-title"><Icon type="ios-paper"/>{{isEdit?'编辑习题':'新建习题'}}</span>
     <Divider />
     <div class="exersices-attr display-flex">
+      <div class="exersices-attr-type my-radio-style">
+        <IconText :text="'选择学段'" :color="'green'" :icon="'md-apps'"></IconText>
+        <Select v-model="exercisePeriod" style="width:200px;margin-top:20px">
+            <Option v-for="(item,index) in periodList" :value="index" :key="index">{{ item }}</Option>
+        </Select>
+      </div>
+      <div class="exersices-attr-diff my-radio-style">
+        <IconText :text="'选择年级'" :color="'red'" :icon="'md-pulse'"></IconText>
+        <Select v-model="exerciseGrade" style="width:200px;margin-top:20px">
+            <Option v-for="(item,index) in gradeList" :value="index" :key="index">{{ item }}</Option>
+        </Select>
+      </div>
+    </div>
+    <div class="exersices-attr display-flex" style="margin-top:30px">
       <div class="exersices-attr-type my-radio-style">
         <IconText :text="'选择题型'" :color="'green'" :icon="'md-apps'"></IconText>
         <RadioGroup v-model="exersicesType" type="button" @on-change="typeChange">
@@ -74,7 +88,11 @@
       return {
         isEdit: false,
         editInfo: {},
-        exersicesType: 'Single',
+          exersicesType: 'Single',
+          exercisePeriod: 0,
+          exerciseGrade: 0,
+          periodList: ['小学','初中','高中'],
+        gradeList:['一年级','二年级','三年级'],
         exersicesDiff: '0',
         analysisContent: '',
         stemContent: '',

+ 20 - 14
TEAMModelOS/ClientApp/src/view/evaluation/index/ExercisesList.css

@@ -1,10 +1,13 @@
 .ev-list-container {
-    user-select:none !important;
-    position:relative;
+    user-select: none !important;
+    position: relative;
+    font-family: '微軟正黑體', 'Heiti TC' !important;
 }
     .ev-list-container .ev-header {
-        background:#fff;
-        padding:10px;
+        background: #fff;
+        padding: 10px;
+        display: flex;
+        align-items: center;
     }
     .ev-list-container .ev-title {
         font-size: 20px;
@@ -191,12 +194,12 @@
     .content-wrap .exercise-item {
         width: 100%;
         height: auto;
-        padding: 20px;
+        padding: 20px 20px 10px 20px;
         margin-top: 10px;
-        font-size: 18px;
+        font-size: 16px;
         font-weight: 600;
         background: #fff;
-        /*box-shadow: 0px 5px 5px 2px rgb(187, 182, 182);*/
+        /*box-shadow: 6px 5px 5px 2px rgb(214, 214, 214);*/
     }
 
         .content-wrap .exercise-item table, .content-wrap .exercise-item td {
@@ -237,15 +240,16 @@
     background: rgb(16, 171, 231);
     border-radius: 5px;
     color: #fff;
-    font-size:13px;
+    font-size:12px;
 }
 .exercise-item .item-type {
     display: inline-block;
     padding: 1px 9px;
-    border: 2px solid rgb(16, 171, 231);
     border-radius: 5px;
-    color: rgb(16, 171, 231);
-    font-size: 13px;
+    color: #fff;
+    font-size: 12px;
+    margin-left: 5px;
+    background: rgb(16, 171, 231);
 }
 
 .exercise-item .item-relevant-points{
@@ -337,7 +341,6 @@
         margin-left: 10px;
         font-weight: bold;
         cursor: pointer;
-        vertical-align: bottom;
         color:rgb(16, 171, 231);
         font-size:14px;
     }
@@ -362,12 +365,15 @@
 
 
     .exercise-item .item-tools .item-tools-info {
-        padding: 0 10px;
         vertical-align: sub;
         color: #868686;
         border-right: 2px solid #d2d2d2;
         font-size:12px;
-    }
+        padding:0 10px;
+     }
+    .exercise-item .item-tools .item-tools-info:first-child {
+        padding-left:0;
+     }
 
 
 .ev-list-container h1, h2, h3, h4, h5, h6 {

+ 137 - 239
TEAMModelOS/ClientApp/src/view/evaluation/index/ExercisesList.vue

@@ -1,208 +1,152 @@
 <template>
     <div class="ev-list-container">
-
-        <div class="ev-header">
-            <Icon type="md-bookmarks" size="30" color="rgb(16, 171, 231)" />
-            <span class="ev-title">题库列表</span>
-            <span class="ev-length">共 {{list.length}} 道题</span>
-        </div>
-        <!-- 筛选部分 -->
-        <div class="filter-wrap">
-            <div class="filter-item">
-                <span class="filter-title">来源:</span>
-                <RadioGroup v-model="filterOrigin" type="button" @on-change="filterOriginChange">
-                    <Radio label="self">个人私有库</Radio>
-                    <Radio label="school">学校公用库</Radio>
-                    <Radio label="system">系统公用库</Radio>
-                </RadioGroup>
+            <div class="ev-header">
+                <Icon type="md-bookmarks" size="30" color="rgb(16, 171, 231)" />
+                <span class="ev-title">题库列表</span>
+                <span class="ev-length">共 {{list.length}} 道题</span>
             </div>
-            <div class="filter-item">
-                <span class="filter-title">题型:</span>
-                <RadioGroup v-model="filterType" type="button" @on-change="filterTypeChange">
-                    <Radio label="all">全部</Radio>
-                    <Radio label="Single">单选</Radio>
-                    <Radio label="Multiple">多选</Radio>
-                    <Radio label="Judge">判断</Radio>
-                    <Radio label="Complete">填空</Radio>
-                    <Radio label="Subjective">问答</Radio>
-                </RadioGroup>
+            <!-- 筛选部分 -->
+            <div class="filter-wrap">
+                <div class="filter-item">
+                    <span class="filter-title">来源:</span>
+                    <RadioGroup v-model="filterOrigin" type="button" @on-change="filterOriginChange">
+                        <Radio label="self">个人私有库</Radio>
+                        <Radio label="school">学校公用库</Radio>
+                        <Radio label="system">系统公用库</Radio>
+                    </RadioGroup>
+                </div>
+                <div class="filter-item">
+                    <span class="filter-title">题型:</span>
+                    <RadioGroup v-model="filterType" type="button" @on-change="filterTypeChange">
+                        <Radio label="all">全部</Radio>
+                        <Radio label="Single">单选</Radio>
+                        <Radio label="Multiple">多选</Radio>
+                        <Radio label="Judge">判断</Radio>
+                        <Radio label="Complete">填空</Radio>
+                        <Radio label="Subjective">问答</Radio>
+                    </RadioGroup>
+                </div>
+                <div class="filter-item">
+                    <span class="filter-title">难度:</span>
+                    <RadioGroup v-model="filterDiff" type="button" @on-change="filterDiffChange">
+                        <Radio label="all">全部</Radio>
+                        <Radio label="0">容易</Radio>
+                        <Radio label="1">较易</Radio>
+                        <Radio label="2">一般</Radio>
+                        <Radio label="3">较难</Radio>
+                        <Radio label="4">困难</Radio>
+                    </RadioGroup>
+                </div>
+                <div class="filter-item">
+                    <span class="filter-title">排序:</span>
+                    <RadioGroup v-model="filterSort" type="button" @on-change="filterSortChange">
+                        <Radio label="0">新增时间<Icon type="md-arrow-round-down" /></Radio>
+                        <Radio label="1">使用次数<Icon type="md-arrow-round-down" /></Radio>
+                    </RadioGroup>
+                </div>
             </div>
-            <div class="filter-item">
-                <span class="filter-title">难度:</span>
-                <RadioGroup v-model="filterDiff" type="button" @on-change="filterDiffChange">
-                    <Radio label="all">全部</Radio>
-                    <Radio label="0">容易</Radio>
-                    <Radio label="1">较易</Radio>
-                    <Radio label="2">一般</Radio>
-                    <Radio label="3">较难</Radio>
-                    <Radio label="4">困难</Radio>
-                </RadioGroup>
+            <div class="ev-list-operation">
+                <Checkbox v-model="isShowAnswer">展示答案与解析</Checkbox>
+                <span class="import-exercise">
+                    <Upload multiple action="api/ImportExercise/uploadWord" :headers="headers" :show-upload-list="isShowUploadList" :on-success="uploadSuccess">
+                        <Button type="info">导入习题</Button>
+                    </Upload>
+                </span>
             </div>
-            <div class="filter-item">
-                <span class="filter-title">排序:</span>
-                <RadioGroup v-model="filterSort" type="button" @on-change="filterSortChange">
-                    <Radio label="0">新增时间<Icon type="md-arrow-round-down" /></Radio>
-                    <Radio label="1">使用次数<Icon type="md-arrow-round-down" /></Radio>
-                </RadioGroup>
+            <!-- 筛选部分结束 -->
+            <!-- 题目列表部分 -->
+            <div v-if="list.length === 0" class="no-data-text">
+                <img src="../../../assets/icon/no_data.svg" width="120" />
+                <span style="margin-top:15px;color:#808080">暂无数据</span>
             </div>
-        </div>
-        <div class="ev-list-operation">
-            <Checkbox v-model="isShowAnswer">展示答案与解析</Checkbox>
-            <span class="import-exercise">
-                <Upload multiple action="api/ImportExercise/uploadWord" :headers="headers" :show-upload-list="isShowUploadList" :on-success="uploadSuccess">
-                    <Button type="info">导入习题</Button>
-                </Upload>
-            </span>
-            <div class="operation-cart" id="questionCart">
-                <Poptip trigger="click" title="我的试题篮" placement="top">
-                    <Badge :count="basketCount" show-zero type="success">
-                        <img src="../../../assets/icon/icon_cart.png" />
-                    </Badge>
-                    <div class="basket-content" slot="content">
-                        <p class="basket-title">共计 {{basketCount}} 道题</p>
-                        <div class="basket-body">
-                            <div class="basket-item">
-                                <span>单选题</span>
-                                <Progress :percent="basketList.all.length ? Number((basketList.Single.length / basketList.all.length)*100) : 0" stroke-color="rgb(16, 171, 231)" hide-info />
-                                <span style="margin-left:10px">{{ basketList.Single.length }} 道 <span class="basket-delete" @click="handleBasketDelete('Single')">删除</span></span>
-                            </div>
-                            <div class="basket-item">
-                                <span>多选题</span>
-                                <Progress :percent="basketList.all.length ? Number((basketList.Multiple.length / basketList.all.length)*100) : 0" stroke-color="rgb(16, 171, 231)" hide-info />
-                                <span style="margin-left:10px">{{ basketList.Multiple.length}} 道 <span class="basket-delete" @click="handleBasketDelete('Multiple')">删除</span></span>
-                            </div>
-                            <div class="basket-item">
-                                <span>判断题</span>
-                                <Progress :percent="basketList.all.length ? Number((basketList.Judge.length / basketList.all.length)*100) : 0" stroke-color="rgb(16, 171, 231)" hide-info />
-                                <span style="margin-left:10px">{{ basketList.Judge.length}} 道 <span class="basket-delete" @click="handleBasketDelete('Judge')">删除</span></span>
+            <div class="content-wrap" v-else>
+                <Loading v-show="importLoading"></Loading>
+
+                <div class="exercise-item" v-for="(item,index) of list" :key="index">
+                    <!-- 题目难度类型以及绑定知识点 -->
+                    <div class="item-types">
+                        <span class="item-difficulty" :style="{backgroundColor:diffColors[item.difficulty || 3]}">{{exersicesDiff[item.difficulty || 3]}}</span>
+                        <span class="item-type">{{exersicesType[item.type]}}</span>
+                        <span class="item-relevant-points">
+                            <span class="item-tools-bind">
+                                <span class="item-tools-tool">
+                                    <span class="item-bind-point">已关联知识点:</span>
+                                    <span class="item-bind-point" v-for="(concept,index) in item.concept" :key="index" v-show="item.concept"><Tag color="success">{{concept.name}}</Tag></span>
+                                    <span class="item-bind-point" v-show="!item.concept">暂未关联</span>
+                                    <Icon type="md-link" size="20" />
+                                    <span @click="handleBindPoint(item.concept || [])">绑定知识点</span>
+                                </span>
+                            </span>
+                        </span>
+                    </div>
+                    <!-- 题干部分 -->
+                    <div class="item-question">
+                        <p>{{index+1}} : <span v-html="item.question"></span></p>
+                    </div>
+                    <!-- 选项部分 -->
+                    <div v-for="(option,optionIndex) in item.option" :key="optionIndex">
+                        <p>{{String.fromCharCode(64 + parseInt(optionIndex+1))}} : <span v-html="option.value"></span></p>
+                    </div>
+
+                    <!-- 如果是组合题 -->
+                    <div v-for="(childQuestion,childIndex) in item.children" :key="childIndex">
+                        <div v-if="item.children.length">
+                            <div class="item-question">
+                                <p>{{childIndex+1}} : <span v-html="childQuestion.question"></span></p>
                             </div>
-                            <div class="basket-item">
-                                <span>填空题</span>
-                                <Progress :percent="basketList.all.length ? Number((basketList.Complete.length / basketList.all.length)*100) : 0" stroke-color="rgb(16, 171, 231)" hide-info />
-                                <span style="margin-left:10px">{{ basketList.Complete.length}} 道 <span class="basket-delete" @click="handleBasketDelete('Complete')">删除</span></span>
+                            <div v-for="(childOption,childOptionIndex) in childQuestion.option" :key="childOptionIndex">
+                                <p>{{String.fromCharCode(64 + parseInt(childOptionIndex+1))}} : <span v-html="childOption.value"></span></p>
                             </div>
-                            <div class="basket-item">
-                                <span>问答题</span>
-                                <Progress :percent="basketList.all.length ? Number((basketList.Subjective.length / basketList.all.length)*100) : 0" stroke-color="rgb(16, 171, 231)" hide-info />
-                                <span style="margin-left:10px">{{ basketList.Subjective.length}} 道 <span class="basket-delete" @click="handleBasketDelete('Subjective')">删除</span></span>
+                            <div class="item-answer" v-show="isShowAnswer">
+                                <span style="color:#01b4ef">【答案】:</span>
+                                <span v-html="childQuestion.answer[0] || childQuestion.answer" v-if="childQuestion.type === 'Subjective'"></span>
+                                <span :class="[ childQuestion.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,answerIndex) in childQuestion.answer" :key="answerIndex" v-else-if="childQuestion.type === 'Complete'" v-html="answer"></span>
+                                <span :class="[ childQuestion.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,answerIndex) in childQuestion.answer" :key="answerIndex" v-else>{{answer}}</span>
                             </div>
-                            <div class="basket-item">
-                                <span>综合题</span>
-                                <Progress :percent="basketList.all.length ? Number((basketList.Compose.length / basketList.all.length)*100) : 0" stroke-color="rgb(16, 171, 231)" hide-info />
-                                <span style="margin-left:10px">{{ basketList.Compose.length}} 道 <span class="basket-delete" @click="handleBasketDelete('Compose')">删除</span></span>
+                            <div class="item-explain" v-show="isShowAnswer">
+                                <span style="color:#01b4ef">【解析】:</span>
+                                <span v-html="childQuestion.explain"></span>
                             </div>
                         </div>
-                        <div :class="[basketList.all.length ? 'basket-footer' : 'basket-footer-no']">
-                            <p @click="handleSubmitPaper">进入组卷中心</p>
-                        </div>
                     </div>
-                </Poptip>
-            </div>
-        </div>
-        <!-- 筛选部分结束 -->
-        <!-- 题目列表部分 -->
-        <div v-if="list.length === 0" class="no-data-text">
-            <img src="../../../assets/icon/no_data.svg" width="120" />
-            <span style="margin-top:15px;color:#808080">暂无数据</span>
-        </div>
-        <div class="content-wrap" v-else>
-            <Loading v-show="importLoading"></Loading>
-
-            <div class="exercise-item" v-for="(item,index) of list" :key="index">
-                <!-- 题目难度类型以及绑定知识点 -->
-                <div class="item-types">
-                    <span class="item-difficulty" :style="{backgroundColor:diffColors[item.difficulty || 3]}">{{exersicesDiff[item.difficulty || 3]}}</span>
-                    <span class="item-type">{{exersicesType[item.type]}}</span>
-                    <span class="item-relevant-points">
-                        <span class="item-tools-bind">
-                            <span class="item-tools-tool">
-                                <span class="item-bind-point">已关联知识点:</span>
-                                <span class="item-bind-point" v-for="(concept,index) in item.concept" :key="index" v-show="item.concept"><Tag color="success">{{concept.name}}</Tag></span>
-                                <span class="item-bind-point" v-show="!item.concept">暂未关联</span>
-                                <Icon type="md-link" size="20" />
-                                <span @click="handleBindPoint(item.concept || [])">绑定知识点</span>
-                            </span>
-                        </span>
-                    </span>
-                </div>
-                <!-- 题干部分 -->
-                <div class="item-question">
-                    <p>{{index+1}} : <span v-html="item.question"></span></p>
-                </div>
-                <!-- 选项部分 -->
-                <div v-for="(option,optionIndex) in item.option" :key="optionIndex">
-                    <p>{{String.fromCharCode(64 + parseInt(optionIndex+1))}} : <span v-html="option.value"></span></p>
-                </div>
-
-                <!-- 如果是组合题 -->
-                <div v-for="(childQuestion,childIndex) in item.children" :key="childIndex">
-                    <div v-if="item.children.length">
-                        <div class="item-question">
-                            <p>{{childIndex+1}} : <span v-html="childQuestion.question"></span></p>
-                        </div>
-                        <div v-for="(childOption,childOptionIndex) in childQuestion.option" :key="childOptionIndex">
-                            <p>{{String.fromCharCode(64 + parseInt(childOptionIndex+1))}} : <span v-html="childOption.value"></span></p>
-                        </div>
-                        <div class="item-answer" v-show="isShowAnswer">
-                            <span style="color:#01b4ef">【答案】:</span>
-                            <span v-html="childQuestion.answer[0] || childQuestion.answer" v-if="childQuestion.type === 'Subjective'"></span>
-                            <span :class="[ childQuestion.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,answerIndex) in childQuestion.answer" :key="answerIndex" v-else-if="childQuestion.type === 'Complete'" v-html="answer"></span>
-                            <span :class="[ childQuestion.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,answerIndex) in childQuestion.answer" :key="answerIndex" v-else>{{answer}}</span>
-                        </div>
-                        <div class="item-explain" v-show="isShowAnswer">
-                            <span style="color:#01b4ef">【解析】:</span>
-                            <span v-html="childQuestion.explain"></span>
+                    <!-- 组合题结束 -->
+                    <!-- 答案展示部分 -->
+                    <div class="item-answer" v-show="item.type !== 'Compose' && isShowAnswer">
+                        <span class="answer-title-line"></span>
+                        <span class="answer-title" @click="showAnswer($event,'answer')">答案:点击展开答案详情</span>
+                        <div class="item-answer-details">
+                            <span v-html="item.answer" v-if="item.type === 'Subjective'"></span>
+                            <span :class="[ item.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,index) in item.answer" :key="index" v-else-if="item.type === 'Complete'" v-html="answer"></span>
+                            <span :class="[ item.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,index) in item.answer" :key="index" v-else>{{answer}}</span>
                         </div>
                     </div>
-                </div>
-                <!-- 组合题结束 -->
-                <!-- 答案展示部分 -->
-                <div class="item-answer" v-show="item.type !== 'Compose'">
-                    <span class="answer-title-line"></span>
-                    <span class="answer-title" @click="showAnswer($event,'answer')">答案:点击展开答案详情</span>
-                    <div class="item-answer-details">
-                        <span v-html="item.answer" v-if="item.type === 'Subjective'"></span>
-                        <span :class="[ item.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,index) in item.answer" :key="index" v-else-if="item.type === 'Complete'" v-html="answer"></span>
-                        <span :class="[ item.type === 'Complete' ? 'item-answer-item':'']" v-for="(answer,index) in item.answer" :key="index" v-else>{{answer}}</span>
+                    <!-- 解析部分 -->
+                    <div class="item-explain" v-show="item.type !== 'Compose' && isShowAnswer">
+                        <span class="explain-title-line"></span>
+                        <span class="explain-title" @click="showAnswer($event,'explain')">解析:点击展开解析详情</span>
+                        <div class="item-explain-details">
+                            <span v-html="item.explain"></span>
+                        </div>
                     </div>
-                </div>
-                <!-- 解析部分 -->
-                <div class="item-explain" v-show="item.type !== 'Compose'">
-                    <span class="explain-title-line"></span>
-                    <span class="explain-title" @click="showAnswer($event,'explain')">解析:点击展开解析详情</span>
-                    <div class="item-explain-details">
-                        <span v-html="item.explain"></span>
-                    </div>
-                </div>
-                <!-- 底部题目操作栏 -->
-                <div class="item-tools">
-                    <span class="item-tools-info">来源:浙江省温州市2019年中考数学试卷</span>
-                    <span class="item-tools-info">使用次数:98 次</span>
-                    <span class="item-tools-info" style="border:0">更新时间:2019-07-01</span>
-                    <Button type="info" :style="{backgroundColor:basketList.all.indexOf(item) > -1 ? '#bbbbbb' : ''}" @click="handleChoose(item)">{{basketList.all.indexOf(item) > -1 ? '已选入' : '选题'}} </Button>
-                    <Button type="primary" @click="handleEdit(item)" style="margin-right:10px">编辑题目</Button>
-                    <!--小球-->
-                    <div>
-                        <transition name="drop" @before-enter="beforeDrop" @enter="dropping" @after-enter="afterDrop">
-                            <div class="ball" v-show="ball.show">
-                                <div class="inner inner-hook">
-                                    <img src="../../../assets/icon/icon_paper.png" />
-                                </div>
-                            </div>
-                        </transition>
+                    <!-- 底部题目操作栏 -->
+                    <div class="item-tools">
+                        <span class="item-tools-info">来源:浙江省温州市2019年中考数学试卷</span>
+                        <span class="item-tools-info">使用次数:98 次</span>
+                        <span class="item-tools-info" style="border:0">更新时间:2019-07-01</span>
+                        <!--<Button type="info" :style="{backgroundColor:basketList.all.indexOf(item) > -1 ? '#bbbbbb' : ''}" @click="handleChoose(item)">{{basketList.all.indexOf(item) > -1 ? '已选入' : '选题'}} </Button>-->
+                        <Button type="primary" @click="handleEdit(item)" style="margin-right:10px">编辑题目</Button>
                     </div>
                 </div>
             </div>
-        </div>
 
-        <!-- 底部分页区域 -->
-        <Page :total="totalNum"
-              show-sizer
-              @on-page-size-change="pageSizeChange"
-              @on-change="pageChange"
-              :page-size-opts="[5,10,15,20]" />
-        <Button type="success" @click="backToAdd" style="margin:10px;">返回</Button>
-        <Button type="success" @click="backToPaper" style="margin:10px;">试卷</Button>
+            <!-- 底部分页区域 -->
+            <Page :total="totalNum"
+                  show-sizer
+                  @on-page-size-change="pageSizeChange"
+                  @on-change="pageChange"
+                  :page-size-opts="[5,10,15,20]" />
+            <Button type="success" @click="backToAdd" style="margin:10px;">返回</Button>
+            <Button type="success" @click="backToPaper" style="margin:10px;">试卷</Button>
 
         <!-- 绑定知识点弹窗开始 -->
         <Modal v-model="bindPointModal"
@@ -286,12 +230,11 @@
                 isShowAnswer: true,
                 importLoading: false,
                 tabSelectVal: 'school',
-                ball: { show: false },
                 dropBalls: []
             }
         },
         created() {
-            this.schoolInfo = JSON.parse(localStorage.getItem('c_role_info')).roleClaim[0]
+            //this.schoolInfo = JSON.parse(localStorage.getItem('c_role_info')).roleClaim[0]
             this.list = questions.result.data
             this.totalNum = questions.result.data.length
             if (this.$route.params.exerciseItem) {
@@ -299,53 +242,7 @@
             }
         },
         methods: {
-            // 抛物
-            drop(el) {
-                this.ball.show = true
-                this.ball.el = el
-                this.dropBalls.push(this.ball)
-            },
-
-            /* 购物车小球动画实现 */
-            beforeDrop(el) {
-                let ball = this.ball
-                if (ball.show) {
-                    let rect = ball.el.getBoundingClientRect() // 元素相对于视口的位置
-                    let x = -(window.innerWidth - rect.x - 152)
-                    let y = -(window.innerHeight - rect.top - 22) // 获取y
-                    el.style.display = ''
-                    el.style.webkitTransform = 'translateY(' + y + 'px)' // translateY
-                    el.style.transform = 'translateY(' + y + 'px)'
-                    let inner = el.getElementsByClassName('inner-hook')[0]
-                    inner.style.webkitTransform = 'translateX(' + x + 'px)'
-                    inner.style.transform = 'translateX(' + x + 'px)'
-                }
-            },
 
-             /* 重置小球数量  样式重置 */
-            dropping(el, done) {
-                el.style.webkitTransform = 'translate3d(0,0,0)'
-                el.style.transform = 'translate3d(0,0,0)'
-                let inner = el.getElementsByClassName('inner-hook')[0]
-                inner.style.webkitTransform = 'translate3d(0,0,0)'
-                inner.style.transform = 'translate3d(0,0,0)'
-                el.addEventListener('transitionend', done)
-                let cartClassList = document.getElementById('questionCart').classList
-                cartClassList.add('animated')
-                cartClassList.add('heartBeat')
-            },
-
-             /* 初始化小球 */
-            afterDrop(el) {
-                let ball = this.dropBalls.shift()
-                if (ball) {
-                    ball.show = false
-                    el.style.display = 'none'
-                    let cartClassList = document.getElementById('questionCart').classList
-                    cartClassList.remove('animated')
-                    cartClassList.remove('heartBeat')
-                }
-            },
 
             // 根据题库加载题目
             filterOriginChange(origin) {
@@ -379,9 +276,10 @@
             showAnswer(e, type) {
                 let el = e.currentTarget
                 let isShow = e.currentTarget.nextElementSibling.style.display || 'none'
-                setTimeout(function() {
-                    if (type !== 'explain') {
-                        el.nextElementSibling.style.display = isShow !== 'none' ? 'block' : 'none'
+                setTimeout(function () {
+                    console.log(type)
+                    if (type === 'explain') {
+                        el.nextElementSibling.style.display = isShow !== 'none' ? 'none' : 'block'
                         el.innerHTML = isShow !== 'none' ? '解析:点击收起解析详情' : '解析:点击展开解析详情'
                     } else {
                         el.nextElementSibling.style.display = isShow === 'none' ? 'block' : 'none'
@@ -392,7 +290,7 @@
 
             backToAdd() {
                 this.$router.push({
-                    path: '/createExercises'// 或者路径跳转path: '/addCreditCards',
+                    path: '/createExercises'//  
                 })
             },
 
@@ -408,7 +306,7 @@
                 let end = this.pageSize * page
                 let list = questions.result.data
                 this.list = list.slice(start, end)
-                window.scroll(0, 0)
+                window.scrollTo(0, 0)
             },
 
             // 切换分页Size

+ 7 - 13
TEAMModelOS/ClientApp/src/view/evaluation/index/index.vue

@@ -4,31 +4,24 @@
       <Header :parentToChild="syllabusTitle" :identityselect="identitydata"></Header>
     </div>
     <div class="ev-body">
-      <div class="ev-slide">
+      <!--<div class="ev-slide">
         <div class="ev-slide-school"><Icon type="ios-school" size="26" color="#10abe7" style="vertical-align:sub"/> {{schoolInfo.claimName}}</div>
         <div class="ev-slide-header">选择学段及科目</div>
         <div class="ev-slide-select">
-          <!-- 学段选择部分 -->
           <Select v-model="evPeriodSelect" @on-change="periodChange" label-in-value>
             <Option v-for="item in evPeriodsList" :value="item.code" :key="item.rowKey">{{ item.name }}</Option>
           </Select>
-
-          <!-- 科目选择部分 -->
           <Select v-model="evSubjectSelect" @on-change="subjectChange" label-in-value>
             <Option v-for="item in evSubjectList" :value="item.code" :key="item.rowKey">{{ item.name }}</Option>
           </Select>
         </div>
         <div class="ev-slide-header ev-slide-select-volumes" style="position:relative">
-          <!--<Loading :top="150" :borderWidth="4" v-show="!isLoadingFinish"></Loading>-->
-          <!--<Loading v-show="!isLoadingFinish"></Loading>-->
-
-          <!-- 册别选择部分 -->
           <Select v-model="evVolumeSelect" @on-change="volumeChange" label-in-value placeholder="请选择册别">
             <Option v-for="item in evVolumesList" :value="item.rowKey" :key="item.rowKey">{{ item.gradeName + '' + item.termName }}</Option>
           </Select>
         </div>
         <SyllabusTree :treeDatas="treeData"></SyllabusTree>
-      </div>
+      </div>-->
       <div class="ev-content">
         <router-view />
       </div>
@@ -76,8 +69,8 @@
       }
     },
     created() {
-      this.schoolInfo = JSON.parse(localStorage.getItem('c_role_info')).roleClaim[0].claim[0] // 默认选中第一个学校
-      this.findSchoolPeriodsByDict()
+      //this.schoolInfo = JSON.parse(localStorage.getItem('c_role_info')).roleClaim[0].claim[0] // 默认选中第一个学校
+      //this.findSchoolPeriodsByDict()
     },
     methods: {
       goRouter(name) {
@@ -246,8 +239,9 @@
       }
 
   .ev-body .ev-content {
-      width:calc(100% - 350px);
-  }
+      width:80%;
+      margin:0 auto;
+      }
 
   .slide-menu {
     width:150px;

+ 24 - 24
TEAMModelOS/ClientApp/src/view/learnactivity/AutoCreate.vue

@@ -217,46 +217,46 @@
         pointTab:'pioints',
         selectPointsStatus:false,
         single: {
-          total: undefined,
+          total: 1,
           policy: '0',
-          simple: undefined,
-          common: undefined,
-          difficulty: undefined
+          simple: 1,
+          common: 1,
+          difficulty: 1
         },
         multiple: {
-          total: undefined,
+          total: 1,
           policy: '0',
-          simple: undefined,
-          common: undefined,
-          difficulty: undefined
+          simple: 1,
+          common: 1,
+          difficulty: 1
         },
         judge: {
-          total: undefined,
+          total: 1,
           policy: '0',
-          simple: undefined,
-          common: undefined,
-          difficulty: undefined
+          simple: 1,
+          common: 1,
+          difficulty: 1
         },
         complete: {
-          total: undefined,
+          total: 1,
           policy: '0',
-          simple: undefined,
-          common: undefined,
-          difficulty: undefined
+          simple: 1,
+          common: 1,
+          difficulty: 1
         },
         subjective: {
-          total: undefined,
+          total: 1,
           policy: '0',
-          simple: undefined,
-          common: undefined,
-          difficulty: undefined
+          simple: 1,
+          common: 1,
+          difficulty: 1
         },
         compose: {
-          total: undefined,
+          total: 1,
           policy: '0',
-          simple: undefined,
-          common: undefined,
-          difficulty: undefined
+          simple: 1,
+          common: 1,
+          difficulty: 1
         },
         autoCreateFilter: {
           scope: [],

+ 15 - 3
TEAMModelOS/ClientApp/src/view/learnactivity/CreateEvaluation.vue

@@ -61,13 +61,13 @@
               <AutoCreate :subjectCode="evaluationInfo.testPaper[currentSubjectIndex].subjectCode"></AutoCreate>
             </TabPane>
             <TabPane label="备选题目" name="manual" v-if="evaluationInfo.testPaper[currentSubjectIndex].createType == 'manual'" :index="2" tab="createTest">
-              <ManualCreate :questionList="questionList" @goToPreview="goToPreview"></ManualCreate>
+              <ManualCreate :questionList="questionList" @goToPreview="goToPreview" @selectedQuestion="getSelectedQuestion"></ManualCreate>
             </TabPane>
             <TabPane label="导入说明" name="import" v-if="evaluationInfo.testPaper[currentSubjectIndex].createType == 'import'" :index="3" tab="createTest">
-              <ImportCreate></ImportCreate>
+              <ImportCreate @importedQuestions="getImportQuestions" @goToPreview="goToPreview"></ImportCreate>
             </TabPane>
             <TabPane label="试题预览" name="preview" :index="4" tab="createTest">
-              <TeacherPreview :questionList="questionList"></TeacherPreview>
+              <TeacherPreview :questionList="allQuestions"></TeacherPreview>
             </TabPane>
             <TabPane label="学生作答预览" name="student" :index="5" tab="createTest">
               <StudentPreview></StudentPreview>
@@ -120,6 +120,10 @@
     },
     data() {
       return {
+        allQuestions:[],
+        autoQuestions: [],
+        importQuestions:[],
+        manualQuestions:[],
         deleteIndex:-1,
         testSubjects:[],
         activeTab:'auto',
@@ -181,6 +185,14 @@
       }
     },
     methods: {
+      getImportQuestions(questions) {
+        this.importQuestions = questions
+        this.allQuestions = [...this.autoQuestions, ...this.manualQuestions, ...this.importQuestions]
+      },
+      getSelectedQuestion(questions) {
+        this.manualQuestions = questions
+        this.allQuestions = [...this.autoQuestions, ...this.manualQuestions, ...this.importQuestions]
+      },
       goToPreview() {
         this.activeTab = 'preview'
       },

+ 5 - 0
TEAMModelOS/ClientApp/src/view/learnactivity/ImportCreate.less

@@ -39,4 +39,9 @@
 }
 .upload-wrap:hover {
   color: white;
+}
+.my-iframe-style {
+  width: 100%;
+  border: none;
+  height: 600px;
 }

+ 103 - 6
TEAMModelOS/ClientApp/src/view/learnactivity/ImportCreate.vue

@@ -9,23 +9,107 @@
         <p>1、暂时只支持“.docx、.xlsx、.csv”格式的文件导入,文件大小不超过10M,需要按照模板格式导入;</p>
         <p>2、导入的题型暂时只支持单选题、多选题、判断题、填空题、主观题。</p>
       </div>
-      <Upload type="drag" action="" multiple :before-upload="beforeUpload" class="upload-wrap">
-        <p style="margin:20px 0px; margin-top:50px;font-size:30px;">{{$t('teachContent.uploadText')}}</p>
-        <Icon type="ios-cloud-upload" size="80" style="margin-bottom:50px;"/>
+      <Upload :disabled="disabled" :show-upload-list="false" type="drag" action="/api/ImportExercise/uploadWord" multiple :headers="headers" :before-upload="beforeUpload" :on-success="uploadSuccess" class="upload-wrap">
+        <p style="margin:20px 0px; margin-top:50px;font-size:30px;">{{disabled ? '文件解析中......' : $t('teachContent.uploadText')}}</p>
+        <Icon v-show="!disabled" type="ios-cloud-upload" size="80" style="margin-bottom:50px;" />
+        <img v-show="disabled" src="@/assets/loading/logo_loading.png" width="70" height="70" style="margin-bottom:50px;" class="xuanzhuan" />
       </Upload>
     </vuescroll>
-</div>
+    <Modal v-model="wordPreviewStatus"
+           width="988"
+           ok-text="导入"
+           title="解析预览"
+           :mask-closable="false"
+           @on-ok="ok"
+           @on-cancel="cancel">
+      <iframe class="my-iframe-style" src="https://www.baidu.com" :srcdoc="srcdoc"></iframe>
+    </Modal>
+    <Modal v-model="comfirmSyncStatus"
+           ok-text="是"
+           cancel-text="否"
+           :mask-closable="false"
+           @on-ok="comfirmSync"
+           @on-cancel="cancelSync">
+
+      <p style="font-size:18px;line-height:50px;padding-top:15px;">是否同步导入的题目到私人题库?</p>
+    </Modal>
+    <Modal v-model="comfirmPreviewStatus"
+           ok-text="是"
+           cancel-text="否"
+           :mask-closable="false"
+           @on-ok="goToPreview"
+           @on-cancel="cancelSync">
+
+      <p style="font-size:18px;padding-top:15px;">导入成功,是否跳转到试题预览界面预览题目?</p>
+    </Modal>
+  </div>
 </template>
 <script>
+  import Loading from '@/common/Loading.vue'
   export default {
+    components: {
+      Loading
+    },
     data() {
       return {
-
+        disabled: false,
+        comfirmPreviewStatus:false,
+        comfirmSyncStatus:false,
+        wordPreviewStatus: false,
+        srcdoc: '',
+        importQuestions:[]
       }
     },
     methods: {
-      beforeUpload() {
+      goToPreview() {
+        this.$emit('goToPreview')
+      },
+      comfirmSync() {
+        let requestData = {
+          htmlString: this.srcdoc
+        }
+        this.$api.SaveAnalyzeHtml(requestData).then(res => {
+          if (res.error === null) {
+            this.importQuestions = res.result.data
+            this.$emit('importedQuestions', this.importQuestions)
+            this.$Message.success('导入成功!')
+            this.comfirmPreviewStatus = true
+          } else {
+             this.$Message.error('导入失败!')
+          }
+        }
+        )
+      },
+      cancelSync() {
+
+      },
+      ok() {
+        this.comfirmSyncStatus = true
+      },
+      cancel() {
 
+      },
+      beforeUpload() {
+        //this.$Message.success('上传之前!')
+        this.disabled = true
+      },
+      uploadSuccess(response, file, fileList) {
+        if (response.error === null) {
+          this.$Message.success('文件上传解析成功!')
+          this.disabled = false
+          this.srcdoc = response.result.data.HtmlString
+          this.wordPreviewStatus = true
+        } else {
+          this.$Message.error('文档解析失败!')
+        }
+        
+      },
+    },
+    computed: {
+      headers() {
+        let hd = {}
+        hd['Authorization'] = 'Bearer ' + localStorage.getItem('token')
+        return hd
       }
     }
   }
@@ -43,5 +127,18 @@
     transition: background ease 0.5s;
     transition: color ease 0.5s;
   }
+  .xuanzhuan {
+    animation: xz 1s linear infinite;
+  }
+
+  @keyframes xz {
+    from {
+      transform: rotate(0deg);
+    }
+
+    to {
+      transform: rotate(360deg);
+    }
+  }
 
 </style>

+ 67 - 27
TEAMModelOS/ClientApp/src/view/learnactivity/ManualCreate.vue

@@ -1,50 +1,49 @@
 <template>
   <div style="height: 100%;background: #404040;position:relative;">
-    
+
     <Poptip padding="0px 0px" offset="10" placement="top-end" width="300" trigger="hover" :class="shoppingCarClass">
-      <Badge type="success" :count="3" :offset="[-3,-3]" style="margin-top:10px;cursor:pointer;" @mouseenter.native="changeActive($event)" @mouseleave.native="removeActive($event)">
+      <Badge type="success" :count="shoppingQuestionList.length" show-zero :offset="[-3,-3]" style="margin-top:10px;cursor:pointer;" @mouseenter.native="changeActive($event)" @mouseleave.native="removeActive($event)">
         <!--<Icon type="ios-cart" color="#6bdfc3" size="50" />-->
-        <img src="../../assets/shopping_car.svg" width="45" height="45"/>
+        <img src="../../assets/shopping_car.svg" width="40" height="40" />
       </Badge>
       <div slot="content">
         <div class="shopping-car-detail">
-          <p class="shopping-car-detail-title">共计<span style="margin:0px 5px;">3</span>题</p>
+          <p class="shopping-car-detail-title">共计<span style="margin:0px 5px;">{{shoppingQuestionList.length}}</span>题</p>
           <div class="shopping-car-detail-item">
             <span class="question-type">单选题:</span>
-            <Progress stroke-color="#6bdfc3" :percent="25" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
-            <span class="question-num">1道</span>
+            <Progress stroke-color="#6bdfc3" :percent="groupQuestion.Single*100/shoppingQuestionList.length" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
+            <span class="question-num">{{groupQuestion.Single}}道</span>
           </div>
           <div class="shopping-car-detail-item">
             <span class="question-type">多选题:</span>
-            <Progress stroke-color="#6bdfc3" :percent="25" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
-            <span class="question-num">2道</span>
+            <Progress stroke-color="#6bdfc3" :percent="groupQuestion.Multiple*100/shoppingQuestionList.length" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
+            <span class="question-num">{{groupQuestion.Multiple}}道</span>
           </div>
           <div class="shopping-car-detail-item">
             <span class="question-type">判断题:</span>
-            <Progress stroke-color="#6bdfc3" :percent="25" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
-            <span class="question-num">3道</span>
+            <Progress stroke-color="#6bdfc3" :percent="groupQuestion.Judge*100/shoppingQuestionList.length" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
+            <span class="question-num">{{groupQuestion.Judge}}道</span>
           </div>
           <div class="shopping-car-detail-item">
             <span class="question-type">填空题:</span>
-            <Progress stroke-color="#6bdfc3" :percent="25" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
-            <span class="question-num">4道</span>
+            <Progress stroke-color="#6bdfc3" :percent="groupQuestion.Complete*100/shoppingQuestionList.length" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
+            <span class="question-num">{{groupQuestion.Complete}}道</span>
           </div>
           <div class="shopping-car-detail-item">
             <span class="question-type">问答题:</span>
-            <Progress stroke-color="#6bdfc3" :percent="25" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
-            <span class="question-num">5道</span>
+            <Progress stroke-color="#6bdfc3" :percent="groupQuestion.Subjective*100/shoppingQuestionList.length" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
+            <span class="question-num">{{groupQuestion.Subjective}}道</span>
           </div>
           <div class="shopping-car-detail-item">
             <span class="question-type">综合题:</span>
-            <Progress stroke-color="#6bdfc3" :percent="25" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
-            <span class="question-num">6道</span>
+            <Progress stroke-color="#6bdfc3" :percent="groupQuestion.Compose*100/shoppingQuestionList.length" :stroke-width="15" style="width:165px;vertical-align:top;padding-top:2px;" hide-info />
+            <span class="question-num">{{groupQuestion.Compose}}道</span>
           </div>
           <p class="shopping-car-detail-bottom" @click="goToPreview">查看详情</p>
         </div>
-        
+
       </div>
     </Poptip>
-    <!--<div class="shopping-car-detail"></div>-->
     <vuescroll>
       <div class="manual-filter-wrap">
         <div class="manual-filter-wrap-left">
@@ -73,7 +72,7 @@
         </div>
       </div>
       <div class="question-list-wrap">
-        <QuestionList :showSelect="true" :questions="questionList"></QuestionList>
+        <QuestionList :showSelect="true" :questions="questionList" @seleteQuestion="seleteQuestion"></QuestionList>
         <div class="page-wrap">
           <Page :total="40" size="small" show-elevator show-sizer />
         </div>
@@ -101,7 +100,9 @@
   </div>
 </template>
 <script>
-  import QuestionList from  '@/components/learnactivity/QuestionList.vue'
+  import QuestionList from '@/components/learnactivity/QuestionList.vue'
+  import { setTimeout } from 'core-js'
+  import jsFn from '@/utils/js-fn.js'
   export default {
     components: {
       QuestionList
@@ -109,31 +110,63 @@
     props: {
       questionList: {
         type: Array,
-        default:[]
+        default: []
       }
     },
     data() {
       return {
-        shoppingCarClass:'question-shopping-car',
+        groupQuestion: {
+          Single: 0,
+          Multiple:0,
+          Judge: 0,
+          Complete: 0,
+          Subjective: 0,
+          Compose: 0
+        },
+        shoppingQuestionList: [],
+        shoppingCarClass: 'question-shopping-car',
         pointTab: '',
-        selectPointsStatus:false,
+        selectPointsStatus: false,
         addKnowledgeStatus: false,
         manualFilter: {
           periodCode: [],
-          scopeCode:[]
+          scopeCode: []
         }
       }
     },
     methods: {
+      seleteQuestion(data) {
+        let flag = true
+        for (let item of this.shoppingQuestionList) {
+          if (item.shaCode == data.shaCode) {
+            flag = false
+            break
+          }
+        }
+        if (flag) {
+          this.shoppingQuestionList.push(data)
+          this.$Message.success('添加成功!')
+          this.shoppingCarClass = 'question-shopping-car animated heartBeat'
+          setTimeout(() => {
+            this.shoppingCarClass = 'question-shopping-car'
+          }, 1000)
+          let groupResult = jsFn.groupBy(this.shoppingQuestionList, 'type')
+          for (let i = 0; i < groupResult.length; i++) {
+            this.groupQuestion[groupResult[i][0].type] = groupResult[i].length
+          }
+          console.log(this.groupQuestion)
+          this.$emit('selectedQuestion', this.shoppingQuestionList)
+        } else {
+          this.$Message.warning('此题目已添加!')
+        }
+      },
       goToPreview() {
         this.$emit('goToPreview')
       },
       changeActive(e) {
-        console.log("hover")
         this.shoppingCarClass = 'question-shopping-car animated pulse'
       },
       removeActive() {
-        console.log("leave")
         this.shoppingCarClass = 'question-shopping-car'
       },
       addKnowledge() {
@@ -144,7 +177,14 @@
       },
       cancelSelectPoints() {
 
-      },
+      }
+    },
+    computed: {
+      //groupQuestion() {
+      //  console.log('0001010')
+      //  console.log(this.groupQuestion)
+      //  return jsFn.groupBy(this.shoppingQuestionList,'type')
+      //}
     }
   }
 </script>

+ 4 - 22
TEAMModelOS/ClientApp/src/view/learnactivity/TeacherPreview.vue

@@ -5,29 +5,12 @@
     padding-bottom: 30px;">
     <vuescroll>
       <h2 style="text-align:center;color:white;">一次函数的性质周末测试</h2>
-      <!--<div :class="index == openIndex ? 'question-item-wrap-detail question-item-wrap':'question-item-wrap'" v-for="(item,index) in questionList">
-        <p class="question-content">
-          <span class="question-order">{{index+1+'.'}}</span>
-          <span class="question-text" v-html='item.question'></span>
-          <Icon type="ios-arrow-dropdown" :color="index == openIndex? 'cyan':'white'" size="25" @click="toglleQuestionDetail(index)" :class="index == openIndex ? 'toggle-detail-icon toggle-detail-icon-up':'toggle-detail-icon toggle-detail-icon-down'" :title="questionDetail ? '收起':'查看详情'"/>
-        </p>
-        <div v-show="index == openIndex" :class="index == openIndex ? 'question-detail animated  fadeIn':'question-detail animated  fadeOut'">
-          <p class="option-item" v-for="(optionItem,index) in item.option">
-            <span class="option-order">{{optionItem.code+'.'}}</span>
-            <span class="option-text" v-html='optionItem.value'></span>
-          </p>
-          <p class="answer-label">答案:点击展开答案详情</p>
-          <p class="answer-detail">
-            <span v-for="(answerItem,index) in item.answer" v-html='answerItem'></span>
-          </p>
-        </div>
-      </div>-->
-    <QuestionList :questions="questionList"></QuestionList>
+      <QuestionList :questions="questionList"></QuestionList>
     </vuescroll>
   </div>
 </template>
 <script>
-  import QuestionList from  '@/components/learnactivity/QuestionList.vue'
+  import QuestionList from '@/components/learnactivity/QuestionList.vue'
   export default {
     components: {
       QuestionList
@@ -35,7 +18,7 @@
     props: {
       questionList: {
         type: Array,
-        default:[]
+        default: []
       }
     },
     data() {
@@ -43,7 +26,7 @@
       }
     },
     methods: {
-      
+
     },
     mounted() {
     }
@@ -54,5 +37,4 @@
   @import "./TeacherPreview.less";
 </style>
 <style>
-  
 </style>