Browse Source

对话练习-查看答案

gcj 2 years ago
parent
commit
8b31b1f41b

+ 503 - 446
src/components/Adult/Preview.vue

@@ -163,475 +163,515 @@
             : '',
         ]"
       >
-        <el-checkbox
-          class="NNPE-Book-content-item-checkbox"
-          :label="item.group_id"
-          v-if="previewType && previewType == 'previewCheck' && item.group_id"
-          v-model="groupCheckList[index]"
-          @change="forupdata(index)"
-          ><br
-        /></el-checkbox>
-        <template
-          v-if="
-            !previewType ||
-            previewType == 'previewCheck' ||
-            (previewType == 'previewCheckShow' && item.previewShow) ||
-            JSON.parse(previewGroupId).length == 0
-          "
-        >
-          <div
-            v-if="item.number || item.z_title || item.f_title"
-            class="title-big"
+        <div v-for="(itemJ, indexJ) in judgeAnswersList" :key="indexJ">
+          <el-checkbox
+            class="NNPE-Book-content-item-checkbox"
+            :label="item.group_id"
+            v-if="previewType && previewType == 'previewCheck' && item.group_id"
+            v-model="groupCheckList[index]"
+            @change="forupdata(index)"
+            ><br
+          /></el-checkbox>
+          <template
+            v-if="
+              !previewType ||
+              previewType == 'previewCheck' ||
+              (previewType == 'previewCheckShow' && item.previewShow) ||
+              JSON.parse(previewGroupId).length == 0
+            "
           >
-            <b v-if="item.number">{{ item.number }}</b>
             <div
-              class="title-box-right"
-              :class="[item.is_textIndex ? 'title-box-right-index' : '']"
+              v-if="item.number || item.z_title || item.f_title"
+              class="title-big"
             >
-              <h2 v-if="item.z_title" v-html="item.z_title" />
-              <h3
-                v-if="item.f_title"
-                :style="{ marginTop: item.z_title ? '8px' : '0' }"
-                v-html="item.f_title"
-              />
+              <b v-if="item.number">{{ item.number }}</b>
+              <div
+                class="title-box-right"
+                :class="[item.is_textIndex ? 'title-box-right-index' : '']"
+              >
+                <h2 v-if="item.z_title" v-html="item.z_title" />
+                <h3
+                  v-if="item.f_title"
+                  :style="{ marginTop: item.z_title ? '8px' : '0' }"
+                  v-html="item.f_title"
+                />
+              </div>
             </div>
-          </div>
-          <div
-            class="title-little"
-            :class="[
-              item.little_title_number || item.little_title ? 'marginTop' : '',
-            ]"
-          >
-            <b v-html="item.little_title_number" />
-            <p v-html="item.little_title" />
-          </div>
-          <div
-            :class="[
-              'NNPE-tableList',
-              item.is_bg ? 'NNPE-tableList-hasBg' : '',
-            ]"
-          >
             <div
-              v-for="(items, indexs) in item.table_list"
-              :key="indexs"
-              class="NNPE-tableList-tr"
+              class="title-little"
               :class="[
-                indexs === item.table_list.length - 1
-                  ? 'NNPE-tableList-tr-last'
+                item.little_title_number || item.little_title
+                  ? 'marginTop'
                   : '',
               ]"
             >
+              <b v-html="item.little_title_number" />
+              <p v-html="item.little_title" />
+            </div>
+            <div
+              :class="[
+                'NNPE-tableList',
+                item.is_bg ? 'NNPE-tableList-hasBg' : '',
+              ]"
+            >
               <div
-                v-for="(itemss, indexss) in items"
-                :key="indexss"
+                v-for="(items, indexs) in item.table_list"
+                :key="indexs"
+                class="NNPE-tableList-tr"
                 :class="[
-                  'NNPE-tableList-item',
-                  items.length == 1
-                    ? 'NNPE-tableList-item-noMargin'
-                    : 'NNPE-tableList-item' + items.length,
+                  indexs === item.table_list.length - 1
+                    ? 'NNPE-tableList-tr-last'
+                    : '',
                 ]"
               >
-                <template v-if="itemss.data">
-                  <template v-if="itemss.type == 'ligature_chs'">
-                    <Ligature
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                      :number="
-                        index +
-                        '_' +
-                        indexs +
-                        '_' +
-                        indexss +
-                        '_' +
-                        currentTreeID
-                      "
-                    />
-                  </template>
-                  <template v-if="itemss.data.type == 'image'">
-                    <Picture
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :child-type="itemss.type"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'phrase_chs'">
-                    <WordPhrase
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                      :indexStr="
-                        index +
-                        '_' +
-                        indexs +
-                        '_' +
-                        indexss +
-                        '_' +
-                        currentTreeID
-                      "
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'NewWord_chs'">
-                    <WordPhrase
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :current-tree-i-d="currentTreeID"
-                      :indexs="indexs"
-                      :indexss="indexss"
-                      :task-model="TaskModel"
-                      :indexStr="
-                        index +
-                        '_' +
-                        indexs +
-                        '_' +
-                        indexss +
-                        '_' +
-                        currentTreeID
-                      "
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'annotation_chs'">
-                    <WordPhrase
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                      :indexStr="
-                        index +
-                        '_' +
-                        indexs +
-                        '_' +
-                        indexss +
-                        '_' +
-                        currentTreeID
-                      "
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'notes_chs'">
-                    <Notes
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'article_chs'">
-                    <ArticleTemChs
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :n-n-p-e-new-word-list="NNPENewWordList"
-                      :n-n-p-e-new-phrase-list="NNPENewPhraseList"
-                      :n-n-p-e-annotation-list="NNPEAnnotationList"
-                      :theme-color="themeColor"
-                      :current-tree-i-d="currentTreeID"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <!-- <template v-if="itemss.type == 'sentence_segword_chs'">
+                <div
+                  v-for="(itemss, indexss) in items"
+                  :key="indexss"
+                  :class="[
+                    'NNPE-tableList-item',
+                    items.length == 1
+                      ? 'NNPE-tableList-item-noMargin'
+                      : 'NNPE-tableList-item' + items.length,
+                  ]"
+                >
+                  <template v-if="itemss.data">
+                    <template v-if="itemss.type == 'ligature_chs'">
+                      <Ligature
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :number="
+                          index +
+                          '_' +
+                          indexs +
+                          '_' +
+                          indexss +
+                          '_' +
+                          currentTreeID
+                        "
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.data.type == 'image'">
+                      <Picture
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :child-type="itemss.type"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'phrase_chs'">
+                      <WordPhrase
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :indexStr="
+                          index +
+                          '_' +
+                          indexs +
+                          '_' +
+                          indexss +
+                          '_' +
+                          currentTreeID
+                        "
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'NewWord_chs'">
+                      <WordPhrase
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :current-tree-i-d="currentTreeID"
+                        :indexs="indexs"
+                        :indexss="indexss"
+                        :task-model="TaskModel"
+                        :indexStr="
+                          index +
+                          '_' +
+                          indexs +
+                          '_' +
+                          indexss +
+                          '_' +
+                          currentTreeID
+                        "
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'annotation_chs'">
+                      <WordPhrase
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :indexStr="
+                          index +
+                          '_' +
+                          indexs +
+                          '_' +
+                          indexss +
+                          '_' +
+                          currentTreeID
+                        "
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'notes_chs'">
+                      <Notes
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'article_chs'">
+                      <ArticleTemChs
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :n-n-p-e-new-word-list="NNPENewWordList"
+                        :n-n-p-e-new-phrase-list="NNPENewPhraseList"
+                        :n-n-p-e-annotation-list="NNPEAnnotationList"
+                        :theme-color="themeColor"
+                        :current-tree-i-d="currentTreeID"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <!-- <template v-if="itemss.type == 'sentence_segword_chs'">
                   <SentenceSegWordViewChs
                     :cur-que="itemss.data"
                     :theme-color="themeColor"
                     v-if="refresh"
                   />
                 </template> -->
-                  <template v-if="itemss.type == 'dialogue_article_chs'">
-                    <DialogueArticleViewChs
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :n-n-p-e-new-word-list="NNPENewWordList"
-                      :n-n-p-e-new-phrase-list="NNPENewPhraseList"
-                      :n-n-p-e-annotation-list="NNPEAnnotationList"
-                      :color-box="colorBox"
-                      :theme-color="themeColor"
-                      :current-tree-i-d="currentTreeID"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'dialogue_answer_chs'">
-                    <DialogueAnswerViewChs
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :color-box="colorBox"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'input_record_chs'">
-                    <InputHasRecord
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'recordHZ_inputPY_chs'">
-                    <TextInputRecord
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template
-                    v-if="
-                      itemss.type == 'inputItem_chs' ||
-                      itemss.type == 'sentence_input_chs' ||
-                      itemss.type == 'sentence_judge_chs' ||
-                      itemss.type == 'sentence_record_chs' ||
-                      itemss.type == 'sentence_input_record_chs'
-                    "
-                  >
-                    <SentenceInput
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'NumberCombination_chs'">
-                    <NumberSelectHasRecord
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type === 'voice_matrix'">
-                    <voice-matrix
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type === 'select_drag'">
-                    <select-drag
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type === 'fill_drag'">
-                    <fill-drag
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type === 'config_table'">
-                    <configurable-table
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type === 'header_separate'">
-                    <header-separate
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'toneSelect_chs'">
-                    <SelectTone
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'sudoku_chs'">
-                    <Soduko
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'single_chs'">
-                    <Single
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'text_problem_chs'">
-                    <TextProblem
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'newWord_preview_chs'">
-                    <NewWordShow
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :index-str="index + '_' + indexs + '_' + indexss"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template
-                    v-if="itemss.type == 'listen_record_single_syllable_chs'"
-                  >
-                    <SelectYinjie
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'sentence_listen_read_chs'">
-                    <SentenceListenRead
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'sort_chs'">
-                    <SentenceSortQP
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template
-                    v-if="itemss.type == 'checkbox_self_assessment_chs'"
-                  >
-                    <Checkbox
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template
-                    v-if="
-                      itemss.type == 'record_control_mini' ||
-                      itemss.type == 'record_control_normal' ||
-                      itemss.type == 'record_control_pro' ||
-                      itemss.type == 'record_control_promax'
-                    "
-                  >
-                    <RecordModule
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template
-                    v-if="
-                      itemss.type == 'upload_control_chs' ||
-                      itemss.type == 'upload_control_preview_chs'
-                    "
-                  >
-                    <UploadControlView
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :type="itemss.type"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'CourseStart_chs'">
-                    <CourseStart
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :handle-n-n-p-enext="handleNNPEnext"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'tinydemo_chs'">
-                    <Tinydemo
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'video_chs'">
-                    <VideoControl
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :type="itemss.type"
-                      :theme-color="themeColor"
-                      :index-str="
-                        index +
-                        '_' +
-                        indexs +
-                        '_' +
-                        indexss +
-                        '_' +
-                        currentTreeID
+                    <template v-if="itemss.type == 'dialogue_article_chs'">
+                      <DialogueArticleViewChs
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :n-n-p-e-new-word-list="NNPENewWordList"
+                        :n-n-p-e-new-phrase-list="NNPENewPhraseList"
+                        :n-n-p-e-annotation-list="NNPEAnnotationList"
+                        :color-box="colorBox"
+                        :theme-color="themeColor"
+                        :current-tree-i-d="currentTreeID"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'dialogue_answer_chs'">
+                      <DialogueAnswerViewChs
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :color-box="colorBox"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'input_record_chs'">
+                      <InputHasRecord
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'recordHZ_inputPY_chs'">
+                      <TextInputRecord
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template
+                      v-if="
+                        itemss.type == 'inputItem_chs' ||
+                        itemss.type == 'sentence_input_chs' ||
+                        itemss.type == 'sentence_judge_chs' ||
+                        itemss.type == 'sentence_record_chs' ||
+                        itemss.type == 'sentence_input_record_chs'
                       "
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'table_chs'">
-                    <TableView
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :type="itemss.type"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'play_record_chs'">
-                    <PlayRecordView
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :type="itemss.type"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'upload_pdf_chs'">
-                    <PdfView
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :type="itemss.type"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
+                    >
+                      <SentenceInput
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'NumberCombination_chs'">
+                      <NumberSelectHasRecord
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type === 'voice_matrix'">
+                      <voice-matrix
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type === 'select_drag'">
+                      <select-drag
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type === 'fill_drag'">
+                      <fill-drag
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type === 'config_table'">
+                      <configurable-table
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type === 'header_separate'">
+                      <header-separate
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'toneSelect_chs'">
+                      <SelectTone
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'sudoku_chs'">
+                      <Soduko
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'single_chs'">
+                      <Single
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'text_problem_chs'">
+                      <TextProblem
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'newWord_preview_chs'">
+                      <NewWordShow
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :index-str="index + '_' + indexs + '_' + indexss"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template
+                      v-if="itemss.type == 'listen_record_single_syllable_chs'"
+                    >
+                      <SelectYinjie
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'sentence_listen_read_chs'">
+                      <SentenceListenRead
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'sort_chs'">
+                      <SentenceSortQP
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template
+                      v-if="itemss.type == 'checkbox_self_assessment_chs'"
+                    >
+                      <Checkbox
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template
+                      v-if="
+                        itemss.type == 'record_control_mini' ||
+                        itemss.type == 'record_control_normal' ||
+                        itemss.type == 'record_control_pro' ||
+                        itemss.type == 'record_control_promax'
+                      "
+                    >
+                      <RecordModule
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template
+                      v-if="
+                        itemss.type == 'upload_control_chs' ||
+                        itemss.type == 'upload_control_preview_chs'
+                      "
+                    >
+                      <UploadControlView
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :type="itemss.type"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'CourseStart_chs'">
+                      <CourseStart
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :handle-n-n-p-enext="handleNNPEnext"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'tinydemo_chs'">
+                      <Tinydemo
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'video_chs'">
+                      <VideoControl
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :type="itemss.type"
+                        :theme-color="themeColor"
+                        :index-str="
+                          index +
+                          '_' +
+                          indexs +
+                          '_' +
+                          indexss +
+                          '_' +
+                          currentTreeID
+                        "
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'table_chs'">
+                      <TableView
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :type="itemss.type"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'play_record_chs'">
+                      <PlayRecordView
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :type="itemss.type"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'upload_pdf_chs'">
+                      <PdfView
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :type="itemss.type"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
 
-                  <template v-if="itemss.type == 'sentence_segtemp_chs'">
-                    <SentenceModule
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :type="itemss.type"
-                      :theme-color="themeColor"
-                      :task-model="TaskModel"
-                    />
-                  </template>
-                  <template v-if="itemss.type == 'options_list_chs'">
-                    <OptionsList
-                      v-if="refresh"
-                      :cur-que="itemss.data"
-                      :theme-color="themeColor"
-                      :index-str="index + '_' + indexs + '_' + indexss"
-                      :task-model="TaskModel"
-                    />
+                    <template v-if="itemss.type == 'sentence_segtemp_chs'">
+                      <SentenceModule
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :type="itemss.type"
+                        :theme-color="themeColor"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
+                    <template v-if="itemss.type == 'options_list_chs'">
+                      <OptionsList
+                        v-if="refresh"
+                        :cur-que="itemss.data"
+                        :theme-color="themeColor"
+                        :index-str="index + '_' + indexs + '_' + indexss"
+                        :task-model="TaskModel"
+                        :judgeAnswer="itemJ"
+                      />
+                    </template>
                   </template>
-                </template>
+                </div>
               </div>
             </div>
-          </div>
-        </template>
+          </template>
+        </div>
       </div>
     </div>
     <div v-if="isShowSave || isShowTitle" class="NNPE-title NNPE-title-gray">
@@ -695,6 +735,8 @@ import SentenceModule from "./preview/SentenceModule.vue"; // 图片模板
 import PlayRecordView from "./preview/PlayRecordView.vue";
 import OptionsList from "./preview/OptionsList.vue"; // 选项模板
 
+import { getToken } from "../../utils/auth";
+
 export default {
   name: "Booknpc",
   components: {
@@ -797,6 +839,7 @@ export default {
       answerTimeInterval: null, // 计时器
       groupIndexList: [], // 勾选groupid数组
       groupCheckList: [], // checkbox 是否选中
+      judgeAnswersList: [],
     };
   },
   computed: {},
@@ -962,7 +1005,19 @@ export default {
               let Bookanswer = this.bookAnswerContent;
               // if (_this.TaskModel == "lookAnswer" && _this.bookAnswerContent) {
               if (Bookanswer) {
-                // let answerData = JSON.parse(_this.bookAnswerContent);
+                let token = getToken();
+                let roleAnswer = "studentAnswer";
+                if (token) {
+                  let userInfor = JSON.parse(token);
+                  let user_type = userInfor.user_type;
+                  if (user_type == "TEACHER") {
+                    roleAnswer = "studentAnswer";
+                  } else {
+                    roleAnswer = "userAnswer";
+                  }
+                }
+                _this.judgeAnswersList = [roleAnswer, "standardAnswer"];
+
                 let answerData = JSON.parse(Bookanswer);
                 if (answerData && itemss.data) {
                   itemss.data.Bookanswer =
@@ -975,6 +1030,8 @@ export default {
                           .Bookanswer
                       : [];
                 }
+              } else {
+                _this.judgeAnswersList = [""];
               }
             });
           });

+ 88 - 8
src/components/Adult/preview/DialogueArticleViewChs/AnswerModel.vue

@@ -1,6 +1,10 @@
 <!--  -->
 <template>
-  <div class="NNPE-ArticleView" v-if="curQue && Bookanswer">
+  <div
+    class="NNPE-ArticleView"
+    :class="['NPC-ArticleAnswerView-' + judgeAnswer]"
+    v-if="curQue && Bookanswer"
+  >
     <div
       class="aduioLine-box"
       v-if="
@@ -99,11 +103,50 @@
                             >
                           </template>
                           <template v-else>
-                            <EditDiv
-                              class="answer-input"
-                              v-model="Bookanswer.input[pItem.hengIndex - 1]"
-                              :canEdit="TaskModel == 'ANSWER' ? false : true"
-                            />
+                            <template v-if="judgeAnswer == 'standardAnswer'">
+                              <EditDiv
+                                :id="
+                                  'dialogue_' +
+                                  Math.random().toString(36).substr(2) +
+                                  '_' +
+                                  pItem.hengIndex
+                                "
+                                class="answer-input userRight"
+                                v-model="curQue.answerArr[pItem.hengIndex - 1]"
+                                :canEdit="TaskModel == 'ANSWER' ? false : true"
+                              />
+                            </template>
+                            <template v-else>
+                              <EditDiv
+                                :id="
+                                  'dialogue_' +
+                                  Math.random().toString(36).substr(2) +
+                                  '_' +
+                                  pItem.hengIndex
+                                "
+                                class="answer-input"
+                                :class="[
+                                  curQue.answerArr &&
+                                  curQue.answerArr[pItem.hengIndex - 1] &&
+                                  curQue.answerArr[pItem.hengIndex - 1] ==
+                                    Bookanswer.input[pItem.hengIndex - 1].value
+                                    ? 'userRight'
+                                    : curQue.answerArr &&
+                                      curQue.answerArr[pItem.hengIndex - 1] &&
+                                      curQue.answerArr[pItem.hengIndex - 1] !=
+                                        Bookanswer.input[pItem.hengIndex - 1]
+                                          .value
+                                    ? 'userError'
+                                    : '',
+                                ]"
+                                v-model="
+                                  Bookanswer.input[pItem.hengIndex - 1].value
+                                "
+                                :canEdit="TaskModel == 'ANSWER' ? false : true"
+                                :hengIndex="pItem.hengIndex - 1"
+                                @saveBlankTF="saveBlankTF"
+                              />
+                            </template>
                           </template>
                           <span
                             v-if="item.isHasPY > 0 && pyPosition == 'bottom'"
@@ -273,7 +316,9 @@
                         <template v-else>
                           <EditDiv
                             class="answer-input"
-                            v-model="Bookanswer.input[pItem.hengIndex - 1]"
+                            v-model="
+                              Bookanswer.input[pItem.hengIndex - 1].value
+                            "
                             :canEdit="TaskModel == 'ANSWER' ? false : true"
                           />
                         </template>
@@ -403,7 +448,7 @@
                   <template v-else>
                     <EditDiv
                       class="answer-input"
-                      v-model="Bookanswer.input[pItem.hengIndex - 1]"
+                      v-model="Bookanswer.input[pItem.hengIndex - 1].value"
                       :canEdit="TaskModel == 'ANSWER' ? false : true"
                     />
                   </template>
@@ -492,6 +537,7 @@ export default {
     "listIndex",
     "Bookanswer",
     "TaskModel",
+    "judgeAnswer",
   ],
   components: {
     AudioLine,
@@ -565,6 +611,25 @@ export default {
       tmIndex = tmIndex ? tmIndex : 0;
       this.$set(this.Bookanswer.recordList, tmIndex, list);
     },
+    saveBlankTF(value, hengIndex) {
+      let answerArr = this.curQue.answerArr;
+      if (answerArr.length > 0) {
+        if (value.trim() == answerArr[hengIndex]) {
+          _this.$set(
+            _this.Bookanswer.input[hengIndex],
+            "userAnswerJudge",
+            "[JUDGE##T##JUDGE]"
+          );
+        } else {
+          _this.$set(
+            _this.Bookanswer.input[hengIndex],
+            "userAnswerJudge",
+            "[JUDGE##F##JUDGE]"
+          );
+        }
+      }
+      console.log(_this.Bookanswer.input)
+    },
     getCurTime(curTime) {
       this.curTime = curTime * 1000;
     },
@@ -573,6 +638,7 @@ export default {
       let reg = /_{2,}/g;
       let leg = this.curQue.detail.length;
       let curQue = JSON.parse(JSON.stringify(this.curQue));
+      this.curQue.answerArr = this.curQue.answer.split("\n");
       let hengIndex = 0;
       curQue.detail.forEach((dItem, dIndex) => {
         let isHasPY = 0;
@@ -1052,6 +1118,20 @@ export default {
     height: 28px;
   }
 }
+.NPC-ArticleAnswerView {
+  &-userAnswer,
+  &-standardAnswer,
+  &-studentAnswer {
+    .answer-input {
+      &.userRight {
+        color: #2ca767;
+      }
+      &.userError {
+        color: #ed342d;
+      }
+    }
+  }
+}
 .judge-box {
   display: flex;
   justify-content: center;

+ 27 - 3
src/components/Adult/preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue

@@ -4,6 +4,13 @@
     class="dialogue-answer-view NPC-zhedie"
     v-if="curQue && curQue.Bookanswer"
   >
+    <h6
+      v-if="judgeAnswer == 'userAnswer' || judgeAnswer == 'studentAnswer'"
+      class="standardTitle"
+      style="margin: 0 0 8px 24px"
+    >
+      {{ judgeAnswer == "userAnswer" ? "Your answer" : "Student answers" }}
+    </h6>
     <!-- 标题 -->
     <template v-if="curQue.title">
       <div class="topTitle">
@@ -61,6 +68,7 @@
                 :colorBox="colorBox"
                 :TaskModel="TaskModel"
                 :listIndex="index"
+                :judgeAnswer="judgeAnswer"
               />
             </div>
             <template
@@ -106,6 +114,7 @@
               :colorBox="colorBox"
               :listIndex="index"
               :TaskModel="TaskModel"
+              :judgeAnswer="judgeAnswer"
             />
           </div>
           <template
@@ -158,7 +167,7 @@ export default {
     OptionModel,
     WordcardModel,
   },
-  props: ["curQue", "colorBox", "TaskModel"],
+  props: ["curQue", "colorBox", "TaskModel", "judgeAnswer"],
   data() {
     return {
       wordShow: true,
@@ -168,6 +177,7 @@ export default {
         input: [],
         judge: [],
       },
+      judgeAnswersList: [],
     };
   },
   computed: {},
@@ -182,12 +192,26 @@ export default {
       let BookAnswer = [];
       let list = JSON.parse(JSON.stringify(this.curQue.list));
       list.forEach((item, index) => {
+        let answerArr = [];
+        if (item.answer) {
+          answerArr = item.answer.split("\n");
+        }
+
         let arr = item.article.match(reg);
         let paraLeg = item.detail.length;
         let userAnswer = JSON.parse(JSON.stringify(this.userAnswer));
         if (arr) {
-          arr.forEach((aItem) => {
-            userAnswer.input.push("");
+          arr.forEach((aItem, aIndex) => {
+            let re = {
+              value: "",
+              userAnswerJudge:
+                answerArr[aIndex] &&
+                answerArr[aIndex] != "??" &&
+                answerArr[aIndex] != "??"
+                  ? "[JUDGE##F##JUDGE]"
+                  : "",
+            };
+            userAnswer.input.push(JSON.parse(JSON.stringify(re)));
           });
           for (let i = 0; i < paraLeg; i++) {
             userAnswer.recordList.push(null);

+ 263 - 18
src/components/Adult/preview/EditDiv.vue

@@ -1,13 +1,23 @@
 <template>
-  <div
-    class="edit-div"
-    v-html="innerText"
-    :contenteditable="canEdit"
-    @focus="isLocked = true"
-    @blur="isLocked = false"
-    @input="changeText"
-    placeholder="输入"
-  ></div>
+  <div>
+    <div
+      :id="id"
+      class="edit-div-npc"
+      v-html="content"
+      :contenteditable="canEdit"
+      @compositionstart="compositStart"
+      @compositionend="compositEnd"
+      @paste="copyText"
+      @focus="isLocked = true"
+      @blur="handleBlur"
+      @input="input"
+      @keyup.enter="handleReplaceTone"
+      :style="{ textAlign: textAlign }"
+      placeholder=" "
+    ></div>
+    <!-- :placeholder="placeholder_value" -->
+    <div class="limit" v-if="isShow">{{ textSize }}/{{ maxLength }}</div>
+  </div>
 </template>
 <script>
 export default {
@@ -21,35 +31,262 @@ export default {
       type: Boolean,
       default: true,
     },
+    placeholder: {
+      type: String,
+      default: "",
+    },
+    id: {
+      type: String,
+      default: "sendMsg",
+    },
+    textAlign: {
+      type: String,
+      default: "left",
+    },
+    isShow: {
+      type: Boolean,
+      default: false,
+    },
+    maxLength: {
+      type: Number,
+      default: 200,
+    },
+    hengIndex: {
+      type: Number,
+      default: 0,
+    },
   },
   data() {
     return {
-      innerText: this.value,
       isLocked: false,
+      textSize: 0,
+      lock: true,
+      fullContent: "",
+      content: this.value, // 文本数据
+      tableData: [
+        ["ā", "á", "ǎ", "à", "a"],
+        ["ō", "ó", "ǒ", "ò", "o"],
+        ["ē", "é", "ě", "è", "e"],
+        ["ī", "í", "ǐ", "ì", "i"],
+        ["ū", "ú", "ǔ", "ù", "u"],
+        ["ǖ", "ǘ", "ǚ", "ǜ", "ü"],
+        ["Ā", "Á", "Â", "À", "A"],
+        ["Ō", "Ó", "Ô", "Ò", "O"],
+        ["Ē", "É", "Ê", "È", "E"],
+        ["Ī", "Í", "Î", "Ì", "I"],
+        ["Ū", "Ú", "Û", "Ù", "U"],
+      ],
     };
   },
   watch: {
     value() {
-      if (!this.isLocked && !this.innerText) {
-        this.innerText = this.value;
+      debugger;
+      if (!this.isLocked && !this.content) {
+        this.content = this.value;
+      }
+      this.$emit("saveBlankTF", this.value, this.hengIndex);
+    },
+  },
+  computed: {
+    placeholder_value() {
+      let value = "";
+      let _this = this;
+      if (_this.placeholder == "place_en") {
+        value = "";
+      } else {
+        value = "";
       }
+      if (_this.textAlign == "left" || !_this.textAlign) {
+        value = " " + value;
+      } else if (_this.textAlign == "center") {
+        value = value;
+      } else if (_this.textAlign == "right") {
+        value = value + " ";
+      }
+      return value;
     },
   },
   methods: {
-    changeText() {
-      if (this.$el.innerHTML.length < 210) {
-        this.$emit("input", this.$el.innerHTML);
+    // 输入中文开始时
+    compositStart(e) {
+      this.lock = false;
+      let id = "#" + this.id;
+      document.querySelector(id).focus();
+      document.execCommand("selectAll", false, null);
+      document.getSelection().collapseToEnd();
+    },
+    // 输入中文结束时
+    compositEnd(e) {
+      this.lock = true;
+      this.input(e);
+    },
+    input(e) {
+      if (this.lock) {
+        this.textSize = e.target.innerHTML.length;
+        if (this.textSize >= this.maxLength) {
+          this.textSize = this.maxLength;
+          this.fullContent = e.target.innerHTML.substring(0, this.maxLength);
+          e.target.innerHTML = e.target.innerHTML.substring(0, this.maxLength);
+        } else {
+          this.fullContent = "";
+        }
+        this.$emit("input", e.target.innerHTML);
+        //this.content = e.target.innerHTML;
+        this.textFocus();
+      } else if (this.fullContent) {
+        // 目标对象:超过200字时候的中文输入法
+        // 原由:虽然不会输入成功,但是输入过程中字母依然会显现在输入框内
+        // 弊端:谷歌浏览器输入法的界面偶尔会闪现
+        e.target.innerHTML = this.fullContent;
+        this.lock = true;
+        this.textFocus();
+      }
+    },
+    // 粘贴富文本转为纯文本
+    copyText(e) {
+      e.stopPropagation();
+      e.preventDefault();
+      let text = "",
+        event = e.originalEvent || e;
+      if (event.clipboardData && event.clipboardData.getData) {
+        text = event.clipboardData.getData("text/plain");
+      } else if (window.clipboardData && window.clipboardData.getData) {
+        text = window.clipboardData.getData("Text");
+      }
+      if (document.queryCommandSupported("insertText")) {
+        document.execCommand("insertText", false, text);
       } else {
-        this.$el.innerHTML = this.$el.innerHTML.substring(0, 210);
+        document.execCommand("paste", false, text);
       }
     },
+    // 文本输入框聚焦,焦点在最后位置
+    textFocus() {
+      let _this = this;
+      setTimeout(() => {
+        let id = "#" + _this.id;
+        document.querySelector(id).focus();
+        document.execCommand("selectAll", false, null);
+        document.getSelection().collapseToEnd();
+      }, 0);
+    },
+    handleReplaceTone(e) {
+      let _this = this;
+      _this.$nextTick(() => {
+        let value = e.target.innerHTML;
+        _this.resArr = [];
+        if (value) {
+          let reg = /\s+/g;
+          let valueArr = value.split(reg);
+          valueArr.forEach((item, index) => {
+            this.handleValue(item);
+          });
+          let str = "";
+          setTimeout(() => {
+            _this.resArr.forEach((item) => {
+              str += " ";
+              item.forEach((sItem) => {
+                if (sItem.number && sItem.con) {
+                  let number = Number(sItem.number);
+                  let con = sItem.con;
+                  let word = _this.addTone(number, con);
+                  str += word;
+                } else {
+                  if (sItem.number) {
+                    str += sItem.number;
+                  } else if (sItem.con) {
+                    str += " " + sItem.con + " ";
+                  }
+                }
+              });
+            });
+            e.target.innerHTML = str.trim();
+            _this.fullContent = str.trim();
+            _this.$emit("input", str.trim());
+            _this.textFocus();
+          }, 10);
+        }
+      });
+    },
+    handleValue(valItem) {
+      let reg = /\d/;
+      let reg2 = /[A-Za-z]+\d/g;
+      let numList = [];
+      let valArr = valItem.split("");
+      if (reg2.test(valItem)) {
+        for (let i = 0; i < valArr.length; i++) {
+          let item = valItem[i];
+          if (reg.test(item)) {
+            let numIndex =
+              numList.length == 0 ? 0 : numList[numList.length - 1].index;
+            let con = valItem.substring(numIndex, i);
+            con = con.replace(/\d/g, "");
+            let obj = {
+              index: i,
+              number: item,
+              con: con,
+              isTran: true,
+            };
+            numList.push(obj);
+          }
+        }
+      } else {
+        numList = [];
+      }
+      if (numList.length == 0) {
+        this.resArr.push([{ con: valItem }]);
+      } else {
+        this.resArr.push(numList);
+      }
+    },
+    addTone(number, con) {
+      let _this = this;
+      let zmList = ["a", "o", "e", "i", "u", "v", "A", "O", "E", "I", "U"];
+      if (number) {
+        for (let i = 0; i < zmList.length; i++) {
+          let zm = zmList[i];
+          if (con.indexOf(zm) > -1) {
+            let zm2 = _this.tableData[i][number - 1];
+            if (con.indexOf("iu") > -1) {
+              zm2 = _this.tableData[4][number - 1];
+              con = con.replace("u", zm2);
+            } else if (con.indexOf("ui") > -1) {
+              zm2 = _this.tableData[3][number - 1];
+              con = con.replace("i", zm2);
+            } else if (
+              con.indexOf("yv") > -1 ||
+              con.indexOf("jv") > -1 ||
+              con.indexOf("qv") > -1 ||
+              con.indexOf("xv") > -1
+            ) {
+              zm2 = _this.tableData[4][number - 1];
+              con = con.replace("v", zm2);
+            } else {
+              con = con.replace(zm, zm2);
+            }
+
+            break;
+          }
+        }
+      }
+      return con;
+    },
+    handleBlur(e) {
+      this.isLocked = false;
+      e.target.innerHTML = e.target.innerHTML.replace(/&nbsp;/gi, "").trim();
+      this.$emit("input", e.target.innerHTML);
+    },
+  },
+  mounted() {
+    if (this.content) {
+      this.textSize = this.content.length;
+    }
   },
 };
 </script>
 <style lang="scss" rel="stylesheet/scss">
-.edit-div {
+.edit-div-npc {
   width: 100%;
-  height: 100%;
+  // height: 100%; 不可加
   overflow: auto;
   word-break: break-all;
   outline: none;
@@ -65,4 +302,12 @@ export default {
     }
   }
 }
+.limit {
+  position: absolute;
+  right: 0px;
+  bottom: 0px;
+  font-size: 16px;
+  line-height: 24px;
+  color: rgba(0, 0, 0, 0.45);
+}
 </style>

File diff suppressed because it is too large
+ 690 - 654
src/views/adultInput.vue


+ 5 - 5
src/views/courseView.vue

@@ -30,12 +30,12 @@
             v-if="!treeFlag"
             src="../assets/common/icon-view-back.png"
             @click="treeShow"
-          >
+          />
           <img
             v-if="!treeFlag"
             src="../assets/common/icon-treelist.png"
             @click="chooseCourseware"
-          >
+          />
           <!-- <h2 class="title">{{ chapterName }}</h2> -->
           <!-- <el-switch
             v-if="!treeFlag"
@@ -56,7 +56,7 @@
           :is-show-title="true"
           :book-answer-content="bookAnswerContent"
           :task-model="TaskModel"
-          :is-show-save="false"
+          :is-show-save="true"
           @finishTaskMaterial="finishTaskMaterial"
         />
       </div>
@@ -109,7 +109,7 @@ export default {
           ],
         },
       ],
-      bookAnswerContent: '',
+      bookAnswerContent: "",
       TaskModel: "", // TEST 考试模式; PRACTICE 练习模式; ANSWER 查看答案模式; 空 预览模式
       category: "",
       FatherTreeData: null,
@@ -164,7 +164,7 @@ export default {
         id: _this.chapterId,
       };
       getContent(MethodName, data)
-        .then(res => {
+        .then((res) => {
           _this.loading = false;
           this.category = res.category;
           this.themeColor = res.book_theme_color;

+ 2 - 2
vue.config.js

@@ -43,8 +43,8 @@ module.exports = {
       // change xxx-api/login => mock/login
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        // target: `https://gcls.utschool.cn/`,
-        target: `https://gcls.helxsoft.cn/`,
+        target: `https://gcls.utschool.cn/`,
+        //target: `https://gcls.helxsoft.cn/`,
         // target: `https://chinesedu.blcup.com/`,
         changeOrigin: true,
         pathRewrite: {

Some files were not shown because too many files changed in this diff