dsy 4 dagar sedan
förälder
incheckning
474c038e32
1 ändrade filer med 14 tillägg och 208 borttagningar
  1. 14 208
      src/views/book/courseware/data/bookType.js

+ 14 - 208
src/views/book/courseware/data/bookType.js

@@ -1,79 +1,3 @@
-// 基础、题型组件编辑和设置页面
-import DividerPage from '../create/components/base/divider/Divider.vue';
-import DividerSetting from '../create/components/base/divider/DividerSetting.vue';
-// import SpacingPage from '../create/components/base/spacing/Spacing.vue';
-// import SpacingSetting from '../create/components/base/spacing/SpacingSetting.vue';
-import AudioPage from '../create/components/base/audio/Audio.vue';
-import AudioSetting from '../create/components/base/audio/AudioSetting.vue';
-import PicturePage from '../create/components/base/picture/Picture.vue';
-import PictureSetting from '../create/components/base/picture/PictureSetting.vue';
-import SelectPage from '../create/components/question/select/Select.vue';
-import SelectSetting from '../create/components/question/select/SelectSetting.vue';
-import VideoPage from '../create/components/base/video/Video.vue';
-import VideoSetting from '../create/components/base/video/VideoSetting.vue';
-// import StemPage from '../create/components/base/stem/Stem.vue';
-// import StemSetting from '../create/components/base/stem/StemSetting.vue';
-import RichTextPage from '../create/components/base/rich_text/RichText.vue';
-import RichTextSetting from '../create/components/base/rich_text/RichTextSetting.vue';
-import LabelPage from '../create/components/base/label/Label.vue';
-import LabelSetting from '../create/components/base/label/LabelSetting.vue';
-import MatchingPage from '../create/components/question/matching/Matching.vue';
-import MatchingSetting from '../create/components/question/matching/MatchingSetting.vue';
-import SortPage from '../create/components/question/sort/Sort.vue';
-import SortSetting from '../create/components/question/sort/SortSetting.vue';
-import VoiceMatrix from '../create/components/question/voice_matrix/VoiceMatrix.vue';
-import VoiceMatrixSetting from '../create/components/question/voice_matrix/VoiceMatrixSetting.vue';
-import FillPage from '../create/components/question/fill/Fill.vue';
-import FillSetting from '../create/components/question/fill/FillSetting.vue';
-import RecordInput from '../create/components/question/record_input/RecordInput.vue';
-import RecordInputSetting from '../create/components/question/record_input/RecordInputSetting.vue';
-// import UploadControl from '../create/components/base/upload_control/UploadControl.vue';
-// import UploadControlSetting from '../create/components/base/upload_control/UploadControlSetting.vue';
-import UploadPreview from '../create/components/base/upload_preview/UploadPreview.vue';
-import UploadRreviewSetting from '../create/components/base/upload_preview/UploadRreviewSetting.vue';
-import PinyinBase from '../create/components/question/pinyin_base/PinyinBase.vue';
-import PinyinBaseSetting from '../create/components/question/pinyin_base/PinyinBaseSetting.vue';
-// import CharacterBase from '../create/components/base/character_base/CharacterBase.vue';
-// import CharacterBaseSetting from '../create/components/base/character_base/CharacterBaseSetting.vue';
-import Character from '../create/components/question/character/Character.vue';
-import CharacterSetting from '../create/components/question/character/CharacterSetting.vue';
-// import Write from '../create/components/question/write/Write.vue';
-// import WriteSetting from '../create/components/question/write/WriteSetting.vue';
-import NewWord from '../create/components/question/new_word/NewWord.vue';
-import NewWordSetting from '../create/components/question/new_word/NewWordSetting.vue';
-import Notes from '../create/components/question/notes/Notes.vue';
-import NotesSetting from '../create/components/question/notes/NotesSetting.vue';
-// import OtherWord from '../create/components/question/other_word/OtherWord.vue';
-// import OtherWordSetting from '../create/components/question/other_word/OtherWordSetting.vue';
-import Article from '../create/components/question/article/Article.vue';
-import ArticleSetting from '../create/components/question/article/ArticleSetting.vue';
-// import Math from '../create/components/question/math/Math.vue';
-// import MathSetting from '../create/components/question/math/MathSetting.vue';
-import Input from '../create/components/question/input/Input.vue';
-import InputSetting from '../create/components/question/input/InputSetting.vue';
-import Judge from '../create/components/question/judge/Judge.vue';
-import JudgeSetting from '../create/components/question/judge/JudgeSetting.vue';
-import WriteBase from '../create/components/base/write_base/WriteBase.vue';
-import WriteBaseSetting from '../create/components/base/write_base/WriteBaseSetting.vue';
-import ImageText from '../create/components/question/image_text/ImageText.vue';
-import ImageTextSetting from '../create/components/question/image_text/ImageTextSetting.vue';
-import H5Games from '../create/components/base/h5_games/H5Games.vue';
-import H5GamesSetting from '../create/components/base/h5_games/H5GamesSetting.vue';
-import Drawing from '../create/components/question/drawing/Drawing.vue';
-import DrawingSetting from '../create/components/question/drawing/DrawingSetting.vue';
-import VideoInteraction from '../create/components/question/video_interaction/VideoInteraction.vue';
-import VideoInteractionSetting from '../create/components/question/video_interaction/VideoInteractionSetting.vue';
-import ThreeModel from '../create/components/base/3d_model/3DModel.vue';
-import ThreeModelSetting from '../create/components/base/3d_model/3DModelSetting.vue';
-import Table from '../create/components/question/table/Table.vue';
-import TableSetting from '../create/components/question/table/TableSetting.vue';
-import DialogueArticlePage from '../create/components/question/dialogue_article/Article.vue';
-import DialogueArticleSetting from '../create/components/question/dialogue_article/ArticleSetting.vue';
-import NewWordTemplate from '../create/components/question/newWord_template/NewWordTemplate.vue';
-import NewWordTemplateSetting from '../create/components/question/newWord_template/NewWordTemplateSetting.vue';
-import CharacterStructure from '../create/components/question/character_structure/CharacterStructure.vue';
-import CharacterStructureSetting from '../create/components/question/character_structure/CharacterStructureSetting.vue';
-
 // 预览组件页面列表
 import AudioPreview from '@/views/book/courseware/preview/components/audio/AudioPreview.vue';
 import DividerPreview from '@/views/book/courseware/preview/components/divider/DividerPreview.vue';
@@ -94,7 +18,7 @@ import UploadPreviewPreview from '../preview/components/upload_preview/UploadPre
 import PinyinBasePreview from '../preview/components/pinyin_base/PinyinBasePreview.vue';
 // import CharacterBasePreview from '../preview/components/character_base/CharacterBasePreview.vue';
 import CharacterPreview from '../preview/components/character/CharacterPreview.vue';
-// import WritePreview from '../preview/components/write/WritePreview.vue';
+import WritePreview from '../preview/components/write/WritePreview.vue';
 import NewWordPreview from '../preview/components/new_word/NewWordPreview.vue';
 import NotesPreview from '../preview/components/notes/NotesPreview.vue';
 // import OtherWordPreview from '../preview/components/other_word/OtherWordPreview.vue';
@@ -117,7 +41,7 @@ import CharacterStructurePreview from '../preview/components/character_structure
 export const bookTypeOption = [
   {
     value: 'base',
-    label: '基础',
+    label: '基础组件',
     children: [
       // {
       //   value: 'stem',
@@ -132,104 +56,60 @@ export const bookTypeOption = [
         value: 'richtext',
         label: '富文本',
         icon: 'richtext',
-        component: RichTextPage,
-        set: RichTextSetting,
         preview: DescribePreview,
       },
       {
         value: 'label',
         label: '标签',
         icon: 'label',
-        component: LabelPage,
-        set: LabelSetting,
         preview: LabelPreview,
       },
       {
         value: 'audio',
         label: '音频',
         icon: 'audio',
-        component: AudioPage,
-        set: AudioSetting,
         preview: AudioPreview,
       },
       {
         value: 'video',
         label: '视频',
         icon: 'video',
-        component: VideoPage,
-        set: VideoSetting,
         preview: VideoPreview,
       },
       {
         value: 'picture',
         label: '图片',
         icon: 'picture',
-        component: PicturePage,
-        set: PictureSetting,
         preview: PicturePreview,
       },
-      // {
-      //   value: 'upload_control',
-      //   label: '上传',
-      //   icon: 'uploadControl',
-      //   component: UploadControl,
-      //   set: UploadControlSetting,
-      //   preview: UploadControlPreview,
-      // },
       {
         value: 'upload_preview',
         label: '上传',
         icon: 'uploadPreview',
-        component: UploadPreview,
-        set: UploadRreviewSetting,
         preview: UploadPreviewPreview,
       },
       {
         value: 'divider',
         label: '分隔',
         icon: 'spacing',
-        component: DividerPage,
-        set: DividerSetting,
         preview: DividerPreview,
       },
-      // {
-      //   value: 'spacing',
-      //   label: '间距',
-      //   icon: 'spacing',
-      //   component: SpacingPage,
-      //   set: SpacingSetting,
-      //   preview: SpacingPreview,
-      // },
-      // {
-      //   value: 'character_base',
-      //   label: '汉字',
-      //   icon: 'chineseCharacter',
-      //   component: CharacterBase,
-      //   set: CharacterBaseSetting,
-      //   preview: CharacterBasePreview,
-      // },
       {
         value: 'write_base',
         label: '写字',
         icon: 'write_base',
-        component: WriteBase,
-        set: WriteBaseSetting,
         preview: WriteBasePreview,
       },
       {
         value: 'h5_games',
         label: 'H5游戏',
         icon: 'games',
-        component: H5Games,
-        set: H5GamesSetting,
         preview: H5GamesPreview,
       },
       {
         value: '3DModel',
         label: '3D模型',
         icon: 'three-model',
-        component: ThreeModel,
-        set: ThreeModelSetting,
         preview: ThreeModelPreview,
       },
     ],
@@ -240,202 +120,128 @@ export const bookTypeOption = [
     children: [
       {
         value: 'article',
-        label: '文章',
+        label: '文章组件',
         icon: '',
-        component: Article,
-        set: ArticleSetting,
         preview: ArticlePreview,
       },
       {
         value: 'dialogue_article',
         label: '对话课文',
         icon: '',
-        component: DialogueArticlePage,
-        set: DialogueArticleSetting,
         preview: DialogueArticlePreview,
       },
       {
         value: 'select',
-        label: '选择',
+        label: '选择组件',
         icon: '',
-        component: SelectPage,
-        set: SelectSetting,
         preview: SelectPreview,
       },
       {
         value: 'matching',
-        label: '连线',
+        label: '连线组件',
         icon: '',
-        component: MatchingPage,
-        set: MatchingSetting,
         preview: MatchingPreview,
       },
       {
         value: 'sort',
-        label: '排序',
+        label: '排序组件',
         icon: '',
-        component: SortPage,
-        set: SortSetting,
         preview: SortPreview,
       },
       {
         value: 'voice_matrix',
         label: '语音矩阵',
         icon: '',
-        component: VoiceMatrix,
-        set: VoiceMatrixSetting,
         preview: VoiceMatrixPreview,
       },
       {
         value: 'fill',
-        label: '填空',
+        label: '填空组件',
         icon: '',
-        component: FillPage,
-        set: FillSetting,
         preview: FillPreview,
       },
       {
         value: 'record_input',
-        label: '录音',
+        label: '录音组件',
         icon: '',
-        component: RecordInput,
-        set: RecordInputSetting,
         preview: RecordInputPreview,
       },
       {
         value: 'new_word',
-        label: '生词',
+        label: '生词组件',
         icon: '',
-        component: NewWord,
-        set: NewWordSetting,
         preview: NewWordPreview,
       },
       {
         value: 'notes',
-        label: '注释',
+        label: '注释组件',
         icon: '',
-        component: Notes,
-        set: NotesSetting,
         preview: NotesPreview,
       },
-      // {
-      //   value: 'other_word',
-      //   label: '其他词汇',
-      //   icon: '',
-      //   component: OtherWord,
-      //   set: OtherWordSetting,
-      //   preview: OtherWordPreview,
-      // },
       {
         value: 'character',
-        label: '汉字',
+        label: '汉字组件',
         icon: '',
-        component: Character,
-        set: CharacterSetting,
         preview: CharacterPreview,
       },
       {
         value: 'newWord_template',
         label: '生字',
         icon: '',
-        component: NewWordTemplate,
-        set: NewWordTemplateSetting,
         preview: NewWordTemplatePreview,
       },
       {
         value: 'character_structure',
         label: '汉字结构',
         icon: '',
-        component: CharacterStructure,
-        set: CharacterStructureSetting,
         preview: CharacterStructurePreview,
       },
-      // {
-      //   value: 'write',
-      //   label: '书写',
-      //   icon: '',
-      //   component: Write,
-      //   set: WriteSetting,
-      //   preview: WritePreview,
-      // },
-      // {
-      //   value: 'math',
-      //   label: '公式',
-      //   icon: '',
-      //   component: Math,
-      //   set: MathSetting,
-      //   preview: MathPreview,
-      // },
       {
         value: 'input',
-        label: '输入框',
+        label: '输入框组件',
         icon: '',
-        component: Input,
-        set: InputSetting,
         preview: InputPreview,
       },
       {
         value: 'judge',
-        label: '判断',
+        label: '判断组件',
         icon: '',
-        component: Judge,
-        set: JudgeSetting,
         preview: JudgePreview,
       },
       {
         value: 'image_text',
         label: '图片文本融合',
         icon: '',
-        component: ImageText,
-        set: ImageTextSetting,
         preview: ImageTextPreview,
       },
       {
         value: 'table',
         label: '表格',
         icon: '',
-        component: Table,
-        set: TableSetting,
         preview: TablePreview,
       },
       {
         value: 'pinyin_base',
-        label: '拼音',
+        label: '拼音组件',
         icon: '',
-        component: PinyinBase,
-        set: PinyinBaseSetting,
         preview: PinyinBasePreview,
       },
       {
         value: 'video_interaction',
         label: '视频交互',
         icon: '',
-        component: VideoInteraction,
-        set: VideoInteractionSetting,
         preview: VideoInteractionPreview,
       },
       {
         value: 'drawing',
         label: '画板',
         icon: '',
-        component: Drawing,
-        set: DrawingSetting,
         preview: DrawingPreview,
       },
     ],
   },
 ];
 
-// 组件列表
-export const componentList = bookTypeOption
-  .flatMap((item) => item.children)
-  .reduce((prev, { value, component }) => ({ ...prev, [value]: component }), {});
-
-// 组件设置列表
-export const componentSettingList = bookTypeOption
-  .flatMap((item) => item.children)
-  .reduce((prev, { value, set }) => ({ ...prev, [value]: set }), {});
-
 // 组件名称列表
 export const componentNameList = bookTypeOption
   .flatMap((item) => item.children)