Quellcode durchsuchen

预览多语言

dsy vor 1 Woche
Ursprung
Commit
958a7cc2ee

+ 32 - 0
src/components/CommonPreview.vue

@@ -12,6 +12,11 @@
           <el-checkbox v-model="isShowGroup">显示分组</el-checkbox>
           <el-checkbox v-model="groupShowAll">分组显示全部</el-checkbox>
         </div>
+        <span class="link">
+          <el-select v-model="lang" placeholder="请选择语言" size="mini" class="lang-select">
+            <el-option v-for="item in langList" :key="item.type" :label="item.name" :value="item.type" />
+          </el-select>
+        </span>
         <div class="operator">
           <slot name="operator" :courseware="courseware_info"></slot>
         </div>
@@ -166,6 +171,7 @@ import {
   GetBookBaseInfo,
   MangerGetBookMindMap,
   PageQueryBookResourceList,
+  GetLanguageTypeList,
 } from '@/api/book';
 
 export default {
@@ -323,6 +329,7 @@ export default {
       GetBookCoursewareInfo({ id, is_contain_producer: 'true', is_contain_auditor: 'true' }).then(
         ({ courseware_info }) => {
           this.courseware_info = { ...this.courseware_info, ...courseware_info };
+          this.getLangList();
         },
       );
     },
@@ -347,6 +354,15 @@ export default {
         if (content_group_row_list) this.content_group_row_list = JSON.parse(content_group_row_list) || [];
       });
     },
+
+    getLangList() {
+      GetLanguageTypeList({ book_id: this.courseware_info.book_id, is_contain_zh: 'true' }).then(
+        ({ language_type_list }) => {
+          this.langList = language_type_list;
+        },
+      );
+    },
+
     /**
      * 得到教材章节结构展开列表
      */
@@ -612,6 +628,22 @@ export default {
         border-right: $border;
       }
 
+      .lang-select {
+        :deep .el-input {
+          width: 100px;
+        }
+
+        :deep .el-input__inner {
+          height: 24px;
+          line-height: 24px;
+          background-color: #fff;
+        }
+
+        :deep .el-input__icon {
+          line-height: 24px;
+        }
+      }
+
       .flow-nodename {
         flex: 1;
       }

+ 10 - 2
src/views/book/courseware/create/components/CreateCanvas.vue

@@ -109,7 +109,13 @@
       <span class="drag-line" :data-row="data.row_list.length - 1"></span>
     </template>
 
-    <PreviewEdit v-else :courseware-id="courseware_id" :row-list="data.row_list" @computedMoveData="computedMoveData" />
+    <PreviewEdit
+      v-else
+      ref="previewEdit"
+      :courseware-id="courseware_id"
+      :row-list="data.row_list"
+      @computedMoveData="computedMoveData"
+    />
   </main>
 </template>
 
@@ -385,7 +391,9 @@ export default {
 
             // 如果有标签类组件,获取对应名称
             if (findKey) {
-              let item = this.findChildComponentByKey(`grid-${findKey}`);
+              let item = this.isEdit
+                ? this.findChildComponentByKey(`grid-${findKey}`)
+                : this.$refs.previewEdit.findChildComponentByKey(`preview-${findKey}`);
               if (['describe', 'stem'].includes(findType)) {
                 groupName = item.data.content.replace(/<[^>]+>/g, ''); // 去掉html标签
               } else if (findType === 'label') {