Browse Source

拖拽排序,输入+录音增加页眉

秦鹏 4 năm trước cách đây
mục cha
commit
facef8e6bc

+ 10 - 3
src/components/Adult/Preview.vue

@@ -161,7 +161,7 @@
                   <SentenceListenRead :cur-que="itemss.data" />
                 </template>
                 <template v-if="itemss.type == 'sort_chs'">
-                  <SentenceSort :cur-que="itemss.data" />
+                  <SentenceSortQP :cur-que="itemss.data" />
                 </template>
                 <template v-if="itemss.type == 'checkbox_self_assessment_chs'">
                   <Checkbox :cur-que="itemss.data" />
@@ -192,6 +192,11 @@
                 </template>
                 <template v-if="itemss.type == 'tinydemo_chs'">
                   <Tinydemo :cur-que="itemss.data" />
+                <template v-if="itemss.type == 'video_chs'">
+                  <VideoControl
+                    :cur-que="itemss.data"
+                    :type="itemss.type"
+                  />
                 </template>
               </template>
             </div>
@@ -223,7 +228,7 @@ import TextProblem from "./preview/TextProblem.vue"; // 课文上方的问题
 import NewWordShow from "./preview/NewWordShow.vue"; // 生字展示
 import SelectYinjie from "./preview/SelectYinjie.vue"; // 选择音节
 import SentenceListenRead from "./preview/SentenceListenRead.vue"; // 听并朗读
-import SentenceSort from "./preview/SentenceSort.vue"; // 句子拖拽排序
+import SentenceSortQP from "./preview/SentenceSortQP.vue"; // 句子拖拽排序
 import Checkbox from "./preview/CheckBoxModule.vue"; // 问卷调查-多选题
 import VoiceMatrix from "./preview/VoiceMatrix.vue"; // 语音矩阵
 import RecordModule from "./preview/RecordModule.vue"; // 录音组件
@@ -231,6 +236,7 @@ import UploadControlView from "./preview/UploadControlView.vue"; //预览控件
 import DialogueAnswerViewChs from "./preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue"; // 文章模板
 import CourseStart from "./preview/CourseStart.vue" // 封面
 import Tinydemo from "./preview/TinyModule.vue" // 富文本
+import VideoControl from "./preview/VideoControl.vue"; // 视频控件
 
 export default {
   name: "Preview",
@@ -255,7 +261,7 @@ export default {
     NewWordShow,
     SelectYinjie,
     SentenceListenRead,
-    SentenceSort,
+    SentenceSortQP,
     Checkbox,
     VoiceMatrix,
     RecordModule,
@@ -263,6 +269,7 @@ export default {
     DialogueAnswerViewChs,
     CourseStart,
     Tinydemo,
+    VideoControl,
   },
   props: [
     "context",

+ 1 - 1
src/components/Adult/common/Inputmodule.vue

@@ -120,7 +120,7 @@ export default {
           const obj = {
             name: item.name,
             url: item.response.file_info_list[0].file_url,
-            id: item.response.file_info_list[0].file_id,
+            id: "[FID##" + item.response.file_info_list[0].file_id + "##FID]",
           };
           articleImgRes.push(obj);
         }

+ 5 - 0
src/components/Adult/common/Upload.vue

@@ -162,6 +162,11 @@ export default {
           this.fileTypeName = "音频";
           this.uploadName = name + "音频";
           break;
+        case "mp4":
+          this.accept = "video/*";
+          this.fileTypeName = "视频";
+          this.uploadName = name + "视频";
+          break;
         case "pdf":
           this.accept = ".pdf";
           this.fileTypeName = "pdf";

+ 710 - 706
src/components/Adult/common/data.js

@@ -1,720 +1,724 @@
 let fnData = [{
-  type: "article_chs",
-  name: "课文",
-}, {
-  type: "dialogue_article_chs",
-  name: "对话课文",
-},
-{
-  type: "sentence_segword_chs",
-  name: "句子分词",
-},
-{
-  type: "NewWord_chs",
-  name: "生词",
-},
-{
-  type: "notes_chs",
-  name: "注释",
+        type: "article_chs",
+        name: "课文",
+    }, {
+        type: "dialogue_article_chs",
+        name: "对话课文",
+    },
+    {
+        type: "sentence_segword_chs",
+        name: "句子分词",
+    },
+    {
+        type: "NewWord_chs",
+        name: "生词",
+    },
+    {
+        type: "notes_chs",
+        name: "注释",
 
-}, {
-  type: "dialogue_answer_chs",
-  name: "对话题模板"
-}, {
-  type: "sentence_chs",
-  name: "句子模板",
-  list: [{
-    type: "sentence_input_chs",
-    name: "句子填空",
-  },
-  {
-    type: "sentence_judge_chs",
-    name: "句子判断",
-  },
-  {
-    type: "sentence_record_chs",
-    name: "句子录音",
-  },
-  {
-    type: "sentence_input_record_chs",
-    name: "句子填空+录音",
-  },
-  {
-    type: "sentence_listen_read_chs",
-    name: "句子听+朗读",
-  },
-  ],
+    }, {
+        type: "dialogue_answer_chs",
+        name: "对话题模板"
+    }, {
+        type: "sentence_chs",
+        name: "句子模板",
+        list: [{
+                type: "sentence_input_chs",
+                name: "句子填空",
+            },
+            {
+                type: "sentence_judge_chs",
+                name: "句子判断",
+            },
+            {
+                type: "sentence_record_chs",
+                name: "句子录音",
+            },
+            {
+                type: "sentence_input_record_chs",
+                name: "句子填空+录音",
+            },
+            {
+                type: "sentence_listen_read_chs",
+                name: "句子听+朗读",
+            },
+        ],
 
-}, {
-  type: "image_question",
-  name: "看图模板",
-  list: [{
-    type: "image_question_input",
-    name: "看图填空",
-  }, {
-    type: "image_question_record",
-    name: "看图录入",
-  }, {
-    type: "image_question_input_record",
-    name: "看图填空+录入",
-  }]
-}, {
-  type: "voice_matrix",
-  name: "语音矩阵",
-},
-//  {
-//     type: "divider",
-//     name: "分割线",
-//     data_structure: {
-//         type: 'divider',
-//         name: "分割线",
-//     }
-// },
-// {
-//     type: "text",
-//     name: "文本描述",
-//     data_structure: {
-//         type: 'text',
-//         name: "文本描述",
-//         con: '',
-//         pinyin: '',
-//         english: '',
-//         img_list: [],
-//         mp3_list: []
-//     }
-// },
-{
-  type: "single_chs",
-  name: "单选题",
-},
-{
-  type: "listen_record_single_chs",
-  name: "听录音选答案",
-},
-{
-  type: "checkbox_chs",
-  name: "多选题",
-},
-{
-  type: "checkbox_self_assessment_chs",
-  name: "自我评估"
-},
-// {
-//     type: "judge",
-//     name: "判断题",
-//     data_structure: {
-//         type: 'judge',
-//         name: "判断题",
-//         title: "",
-//         con: '',
-//         pinyin: '',
-//         img_list: [],
-//         mp3_list: [],
-//         judge: ''
-//     }
-// },
-// {
-//     type: "multiRowInput",
-//     name: "多行文本题",
-//     data_structure: {
-//         type: 'multiRowInput',
-//         name: "多行文本题",
-//         title: "",
-//         con: [{
-//             con: '',
-//             annotation: "", //注释
-//         }],
-//         pinyin: '',
-//         img_list: [],
-//         mp3_list: [],
-//         fn_list: [{
-//             type: 'astrictNumber',
-//             name: '限制字数',
-//             isFn: false,
-//         }, ],
-//     }
-// },
-// {
-//     type: "singleRowInput",
-//     name: "单行文本题",
-//     data_structure: {
-//         type: 'singleRowInput',
-//         name: "单行文本题",
-//         title: "",
+    }, {
+        type: "image_question",
+        name: "看图模板",
+        list: [{
+            type: "image_question_input",
+            name: "看图填空",
+        }, {
+            type: "image_question_record",
+            name: "看图录入",
+        }, {
+            type: "image_question_input_record",
+            name: "看图填空+录入",
+        }]
+    }, {
+        type: "voice_matrix",
+        name: "语音矩阵",
+    },
+    //  {
+    //     type: "divider",
+    //     name: "分割线",
+    //     data_structure: {
+    //         type: 'divider',
+    //         name: "分割线",
+    //     }
+    // },
+    // {
+    //     type: "text",
+    //     name: "文本描述",
+    //     data_structure: {
+    //         type: 'text',
+    //         name: "文本描述",
+    //         con: '',
+    //         pinyin: '',
+    //         english: '',
+    //         img_list: [],
+    //         mp3_list: []
+    //     }
+    // },
+    {
+        type: "single_chs",
+        name: "单选题",
+    },
+    {
+        type: "listen_record_single_chs",
+        name: "听录音选答案",
+    },
+    {
+        type: "checkbox_chs",
+        name: "多选题",
+    },
+    {
+        type: "checkbox_self_assessment_chs",
+        name: "自我评估"
+    },
+    // {
+    //     type: "judge",
+    //     name: "判断题",
+    //     data_structure: {
+    //         type: 'judge',
+    //         name: "判断题",
+    //         title: "",
+    //         con: '',
+    //         pinyin: '',
+    //         img_list: [],
+    //         mp3_list: [],
+    //         judge: ''
+    //     }
+    // },
+    // {
+    //     type: "multiRowInput",
+    //     name: "多行文本题",
+    //     data_structure: {
+    //         type: 'multiRowInput',
+    //         name: "多行文本题",
+    //         title: "",
+    //         con: [{
+    //             con: '',
+    //             annotation: "", //注释
+    //         }],
+    //         pinyin: '',
+    //         img_list: [],
+    //         mp3_list: [],
+    //         fn_list: [{
+    //             type: 'astrictNumber',
+    //             name: '限制字数',
+    //             isFn: false,
+    //         }, ],
+    //     }
+    // },
+    // {
+    //     type: "singleRowInput",
+    //     name: "单行文本题",
+    //     data_structure: {
+    //         type: 'singleRowInput',
+    //         name: "单行文本题",
+    //         title: "",
 
-//         con: [{
-//             con: '',
-//             annotation: "", //注释
-//         }],
-//         pinyin: '',
-//         img_list: [],
-//         mp3_list: [],
-//         fn_list: [{
-//             type: 'astrictNumber',
-//             name: '限制字数',
-//             isFn: false,
-//         }, ],
-//     }
-// },
-// {
-//     type: "hanzi",
-//     name: "汉字模版",
-//     data_structure: {
-//         type: 'hanzi',
-//         name: "汉字模版",
-//         title: "",
-//         option: [{
-//             hanzi: '',
-//             pinyin: '',
-//             mp3_list: [],
-//             img_list: [],
-//             definition_list: [''],
-//             isAnswer: '',
-//             isChecked: '',
-//             isJudge: '',
-//             correctInput: ''
-//         }],
+    //         con: [{
+    //             con: '',
+    //             annotation: "", //注释
+    //         }],
+    //         pinyin: '',
+    //         img_list: [],
+    //         mp3_list: [],
+    //         fn_list: [{
+    //             type: 'astrictNumber',
+    //             name: '限制字数',
+    //             isFn: false,
+    //         }, ],
+    //     }
+    // },
+    // {
+    //     type: "hanzi",
+    //     name: "汉字模版",
+    //     data_structure: {
+    //         type: 'hanzi',
+    //         name: "汉字模版",
+    //         title: "",
+    //         option: [{
+    //             hanzi: '',
+    //             pinyin: '',
+    //             mp3_list: [],
+    //             img_list: [],
+    //             definition_list: [''],
+    //             isAnswer: '',
+    //             isChecked: '',
+    //             isJudge: '',
+    //             correctInput: ''
+    //         }],
 
-//         correct: [{
-//             single: [],
-//             checkBox: [],
-//             judge: [],
-//             input: [],
-//             spell: []
-//         }],
-//         fn_list: [{
-//                 type: 'def',
-//                 name: '更多释义',
-//                 isFn: false,
-//                 isDisable: false,
-//             },
-//             {
-//                 type: 'record',
-//                 name: '跟读',
-//                 isFn: false,
-//                 isDisable: false,
-//             },
-//             {
-//                 type: 'spell',
-//                 name: '拼写',
-//                 isFn: false,
-//                 isDisable: false,
-//             },
-//             {
-//                 type: 'input',
-//                 name: '输入',
-//                 isFn: false,
-//                 isDisable: false,
-//             },
-//             {
-//                 type: 'copy',
-//                 name: '摹写',
-//                 isFn: false,
-//                 isDisable: false,
-//             },
-//             {
-//                 type: 'single',
-//                 name: '单选',
-//                 isFn: false,
-//                 isDisable: false,
-//             }, {
-//                 type: 'checkBox',
-//                 name: '多选',
-//                 isFn: false,
-//                 isDisable: false,
-//             }, {
-//                 type: 'judge',
-//                 name: '判断',
-//                 isFn: false,
-//                 isDisable: false,
-//             },
-//         ]
-//     },
-// },
-{
-  type: "image",
-  name: "图片控件",
-  list: [{
-    type: 'image_checkBox',
-    name: "图片多选",
-  },
-  {
-    type: 'image_judge',
-    name: "图片判断",
-  },
-  {
-    type: 'image_single',
-    name: "图片单选",
-  },
-  {
-    type: 'image_dobleinput',
-    name: "双输入",
-  },
-  {
-    type: 'image_gdcy',
-    name: "固定词语",
-  },
-  {
-    type: 'image_input',
-    name: "单行输入",
-  },
-  {
-    type: "imgage_image",
-    name: "纯图片",
-  },
-  ],
-},
+    //         correct: [{
+    //             single: [],
+    //             checkBox: [],
+    //             judge: [],
+    //             input: [],
+    //             spell: []
+    //         }],
+    //         fn_list: [{
+    //                 type: 'def',
+    //                 name: '更多释义',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             },
+    //             {
+    //                 type: 'record',
+    //                 name: '跟读',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             },
+    //             {
+    //                 type: 'spell',
+    //                 name: '拼写',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             },
+    //             {
+    //                 type: 'input',
+    //                 name: '输入',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             },
+    //             {
+    //                 type: 'copy',
+    //                 name: '摹写',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             },
+    //             {
+    //                 type: 'single',
+    //                 name: '单选',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             }, {
+    //                 type: 'checkBox',
+    //                 name: '多选',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             }, {
+    //                 type: 'judge',
+    //                 name: '判断',
+    //                 isFn: false,
+    //                 isDisable: false,
+    //             },
+    //         ]
+    //     },
+    // },
+    {
+        type: "image",
+        name: "图片控件",
+        list: [{
+                type: 'image_checkBox',
+                name: "图片多选",
+            },
+            {
+                type: 'image_judge',
+                name: "图片判断",
+            },
+            {
+                type: 'image_single',
+                name: "图片单选",
+            },
+            {
+                type: 'image_dobleinput',
+                name: "双输入",
+            },
+            {
+                type: 'image_gdcy',
+                name: "固定词语",
+            },
+            {
+                type: 'image_input',
+                name: "单行输入",
+            },
+            {
+                type: "imgage_image",
+                name: "纯图片",
+            },
+        ],
+    },
 
-// {
-//     type: "audio_control",
-//     name: "音频控制条",
-//     data_structure: {
-//         type: 'audio_control',
-//         name: "音频控制条",
-//         option: [{
-//             xuhao: '',
-//             yinbiao: '',
-//             img_list: [],
-//             mp3_list: [],
-//             isAnswer: ''
-//         }, ],
-//     }
-// },
-// {
-//     type: "audio_control_easy",
-//     name: "音频控制条-简易",
-//     data_structure: {
-//         type: 'audio_control_easy',
-//         name: "音频控制条-简易",
-//         option: [{
-//             xuhao: '',
-//             yinbiao: '',
-//             img_list: [],
-//             mp3_list: [],
-//             isAnswer: ''
-//         }, ],
-//     }
-// },
-{
-  type: "input_record_chs",
-  name: "输入+录音",
-},
-{
-  type: "recordHZ_inputPY_chs",
-  name: "读汉字写拼音",
-},
-{
-  type: "inputItem_chs",
-  name: "输入选项",
-},
-{
-  type: "upload_control_chs",
-  name: "上传控件",
-},
-{
-  type: "upload_control_preview_chs",
-  name: "上传控件预览查看",
-},
-{
-  type: "inputItem_chs",
-  name: "输入选项",
-},
-{
-  type: "switch_control_chs",
-  name: "开关控件",
-},
-{
-  type: "record_control",
-  name: "录音控件",
-  list: [{
-    type: 'record_control_mini',
-    name: "录音控件-mini",
-  },
-  {
-    type: 'record_control_normal',
-    name: "录音控件-normal",
-  },
-  {
-    type: 'record_control_pro',
-    name: "录音控件-pro",
-  },
-  {
-    type: 'record_control_promax',
-    name: "录音控件-promax",
-  },
-  ],
-  data_structure: {
-    type: 'record_control',
-    name: "录音控件",
-    option: [{
-      hanzi: '',
-      pinyin: '',
-      mp3_list: [],
-      img_list: [],
-      isAnswer: '',
-      isChecked: '',
-      isJudge: '',
-      correctInput: '',
-    }],
-  },
-},
-// {
-//     type: "pure_input",
-//     name: "纯输入",
-//     data_structure: {
-//         type: 'pure_input',
-//         name: "纯输入",
-//         option: [{
-//             answer: "",
-//         }, ],
-//         answer: "",
-//         record: false, //需要录音
-//         mp3_list: [],
-//     }
-// },
-// {
-//     type: "matrixSingle",
-//     name: "矩阵单选",
-//     data_structure: {
-//         type: 'matrixSingle',
-//         name: "矩阵单选",
-//         title: "",
-//         con: [{
-//                 con: "",
-//                 Answer: "",
-//             },
-//             {
-//                 con: "",
-//                 Answer: "",
-//             },
-//         ],
-//         option: [{
-//                 con: '',
-//                 pinyin: '',
-//                 img_list: [],
-//                 mp3_list: [],
-//                 isAnswer: ''
-//             },
-//             {
-//                 con: '',
-//                 pinyin: '',
-//                 img_list: [],
-//                 mp3_list: [],
-//                 isAnswer: ''
-//             }
-//         ],
-//         correct: ["", ""]
-//     }
-// },
-// {
-//     type: "matrixChckbox",
-//     name: "矩阵多选",
-//     data_structure: {
-//         type: 'matrixChckbox',
-//         name: "矩阵多选",
-//         title: "",
+    // {
+    //     type: "audio_control",
+    //     name: "音频控制条",
+    //     data_structure: {
+    //         type: 'audio_control',
+    //         name: "音频控制条",
+    //         option: [{
+    //             xuhao: '',
+    //             yinbiao: '',
+    //             img_list: [],
+    //             mp3_list: [],
+    //             isAnswer: ''
+    //         }, ],
+    //     }
+    // },
+    // {
+    //     type: "audio_control_easy",
+    //     name: "音频控制条-简易",
+    //     data_structure: {
+    //         type: 'audio_control_easy',
+    //         name: "音频控制条-简易",
+    //         option: [{
+    //             xuhao: '',
+    //             yinbiao: '',
+    //             img_list: [],
+    //             mp3_list: [],
+    //             isAnswer: ''
+    //         }, ],
+    //     }
+    // },
+    {
+        type: "input_record_chs",
+        name: "输入+录音",
+    },
+    {
+        type: "recordHZ_inputPY_chs",
+        name: "读汉字写拼音",
+    },
+    {
+        type: "inputItem_chs",
+        name: "输入选项",
+    },
+    {
+        type: "upload_control_chs",
+        name: "上传控件",
+    },
+    {
+        type: "upload_control_preview_chs",
+        name: "上传控件预览查看",
+    },
+    {
+        type: "inputItem_chs",
+        name: "输入选项",
+    },
+    {
+        type: "switch_control_chs",
+        name: "开关控件",
+    },
+    {
+        type: "record_control",
+        name: "录音控件",
+        list: [{
+                type: 'record_control_mini',
+                name: "录音控件-mini",
+            },
+            {
+                type: 'record_control_normal',
+                name: "录音控件-normal",
+            },
+            {
+                type: 'record_control_pro',
+                name: "录音控件-pro",
+            },
+            {
+                type: 'record_control_promax',
+                name: "录音控件-promax",
+            },
+        ],
+        data_structure: {
+            type: 'record_control',
+            name: "录音控件",
+            option: [{
+                hanzi: '',
+                pinyin: '',
+                mp3_list: [],
+                img_list: [],
+                isAnswer: '',
+                isChecked: '',
+                isJudge: '',
+                correctInput: '',
+            }],
+        },
+    },
+    // {
+    //     type: "pure_input",
+    //     name: "纯输入",
+    //     data_structure: {
+    //         type: 'pure_input',
+    //         name: "纯输入",
+    //         option: [{
+    //             answer: "",
+    //         }, ],
+    //         answer: "",
+    //         record: false, //需要录音
+    //         mp3_list: [],
+    //     }
+    // },
+    // {
+    //     type: "matrixSingle",
+    //     name: "矩阵单选",
+    //     data_structure: {
+    //         type: 'matrixSingle',
+    //         name: "矩阵单选",
+    //         title: "",
+    //         con: [{
+    //                 con: "",
+    //                 Answer: "",
+    //             },
+    //             {
+    //                 con: "",
+    //                 Answer: "",
+    //             },
+    //         ],
+    //         option: [{
+    //                 con: '',
+    //                 pinyin: '',
+    //                 img_list: [],
+    //                 mp3_list: [],
+    //                 isAnswer: ''
+    //             },
+    //             {
+    //                 con: '',
+    //                 pinyin: '',
+    //                 img_list: [],
+    //                 mp3_list: [],
+    //                 isAnswer: ''
+    //             }
+    //         ],
+    //         correct: ["", ""]
+    //     }
+    // },
+    // {
+    //     type: "matrixChckbox",
+    //     name: "矩阵多选",
+    //     data_structure: {
+    //         type: 'matrixChckbox',
+    //         name: "矩阵多选",
+    //         title: "",
 
-//         con: [{
-//                 con: "",
-//                 AnswerList: [],
-//             },
-//             {
-//                 type: "matrixChekbox",
-//                 name: "矩阵多选",
-//                 data_structure: {
-//                     type: 'matrixChekbox',
-//                     name: "矩阵多选",
-//                     con: [{
-//                             con: "",
-//                             AnswerList: [],
-//                         },
-//                         {
-//                             con: "",
-//                             AnswerList: [],
-//                         },
-//                     ],
-//                     option: [{
-//                             con: '',
-//                             pinyin: '',
-//                             img_list: [],
-//                             mp3_list: [],
-//                             isAnswer: ''
-//                         },
-//                         {
-//                             con: '',
-//                             pinyin: '',
-//                             img_list: [],
-//                             mp3_list: [],
-//                             isAnswer: ''
-//                         }
-//                     ],
-//                     correct: [
-//                         [],
-//                         []
-//                     ]
-//                 }
-//             },
+    //         con: [{
+    //                 con: "",
+    //                 AnswerList: [],
+    //             },
+    //             {
+    //                 type: "matrixChekbox",
+    //                 name: "矩阵多选",
+    //                 data_structure: {
+    //                     type: 'matrixChekbox',
+    //                     name: "矩阵多选",
+    //                     con: [{
+    //                             con: "",
+    //                             AnswerList: [],
+    //                         },
+    //                         {
+    //                             con: "",
+    //                             AnswerList: [],
+    //                         },
+    //                     ],
+    //                     option: [{
+    //                             con: '',
+    //                             pinyin: '',
+    //                             img_list: [],
+    //                             mp3_list: [],
+    //                             isAnswer: ''
+    //                         },
+    //                         {
+    //                             con: '',
+    //                             pinyin: '',
+    //                             img_list: [],
+    //                             mp3_list: [],
+    //                             isAnswer: ''
+    //                         }
+    //                     ],
+    //                     correct: [
+    //                         [],
+    //                         []
+    //                     ]
+    //                 }
+    //             },
 
-//             {
-//                 con: '',
-//                 pinyin: '',
-//                 img_list: [],
-//                 mp3_list: [],
-//                 isAnswer: ''
-//             }
-//         ],
-//         correct: [
-//             [],
-//             []
-//         ]
-//     }
-// },
+    //             {
+    //                 con: '',
+    //                 pinyin: '',
+    //                 img_list: [],
+    //                 mp3_list: [],
+    //                 isAnswer: ''
+    //             }
+    //         ],
+    //         correct: [
+    //             [],
+    //             []
+    //         ]
+    //     }
+    // },
 
-// {
-//     type: "text_input_RecoedItem",
-//     name: "文字+录入+录音条",
-//     data_structure: {
-//         type: "text_input_RecoedItem",
-//         name: "文字+录入+录音条",
-//         title: "",
-//         option: [{
-//             number: "",
-//             con: "",
-//             answer: "",
-//         }, ]
-//     },
-// },
-// {
-//     type: "dialogue",
-//     name: "对话题",
-//     data_structure: {
-//         type: 'dialogue',
-//         name: "对话题",
-//         title: "",
-//         option: [{
-//                 roleName: "",
-//                 site: "left",
-//                 con: '',
-//                 number: "",
-//                 isRecord: "", //是否需要录音
-//                 mp3_list: [],
-//                 img_list: [],
-//                 definition_list: [],
-//                 AnswerList: [""],
-//                 isAnswer: '',
-//                 isChecked: '',
-//                 judge: '',
-//                 correctInput: ''
-//             },
-//             {
-//                 roleName: "",
-//                 site: "left",
-//                 con: '',
-//                 number: "",
-//                 isRecord: "", //是否需要录音
-//                 mp3_list: [],
-//                 img_list: [],
-//                 definition_list: [],
-//                 AnswerList: [""],
-//                 isAnswer: '',
-//                 isChecked: '',
-//                 judge: '',
-//                 correctInput: ''
-//             },
-//         ],
-//         fn_list: [
-//             // {
-//             //       type: 'def',
-//             //       name: '更多释义',
-//             //       isFn: false,
-//             //   },
-//             {
-//                 type: 'record',
-//                 name: '跟读',
-//                 isFn: false,
-//             },
-//             // {
-//             //     type: 'spell',
-//             //     name: '拼写',
-//             //     isFn: false,
-//             // },
-//             {
-//                 type: 'input',
-//                 name: '输入',
-//                 isFn: false,
-//             },
-//             // {
-//             //     type: 'copy',
-//             //     name: '摹写',
-//             //     isFn: false,
-//             // },
-//             // {
-//             //     type: 'single',
-//             //     name: '单选',
-//             //     isFn: false,
-//             // }, {
-//             //     type: 'checkout',
-//             //     name: '多选',
-//             //     isFn: false,
-//             // }, {
-//             //     type: 'judge',
-//             //     name: '判断',
-//             //     isFn: false,
-//             // },
-//         ],
-//         correct: [{
-//             input: ["", ""],
-//         }]
-//     },
-// },
-{
-  type: "ligature_chs",
-  name: "连线",
-},
-// {
-//     type: "record",
-//     name: "录音题",
-//     data_structure: {
-//         type: "record",
-//         name: "录音题",
-//         title: "",
-//         option: [{
-//             mp3_list: [],
-//             con: "",
-//             value: "",
-//         }, ]
-//     }
-// },
-// {
-//     type: "hearRecord",
-//     name: "听录音题",
-//     data_structure: {
-//         type: "hearRecord",
-//         name: "听录音题",
+    // {
+    //     type: "text_input_RecoedItem",
+    //     name: "文字+录入+录音条",
+    //     data_structure: {
+    //         type: "text_input_RecoedItem",
+    //         name: "文字+录入+录音条",
+    //         title: "",
+    //         option: [{
+    //             number: "",
+    //             con: "",
+    //             answer: "",
+    //         }, ]
+    //     },
+    // },
+    // {
+    //     type: "dialogue",
+    //     name: "对话题",
+    //     data_structure: {
+    //         type: 'dialogue',
+    //         name: "对话题",
+    //         title: "",
+    //         option: [{
+    //                 roleName: "",
+    //                 site: "left",
+    //                 con: '',
+    //                 number: "",
+    //                 isRecord: "", //是否需要录音
+    //                 mp3_list: [],
+    //                 img_list: [],
+    //                 definition_list: [],
+    //                 AnswerList: [""],
+    //                 isAnswer: '',
+    //                 isChecked: '',
+    //                 judge: '',
+    //                 correctInput: ''
+    //             },
+    //             {
+    //                 roleName: "",
+    //                 site: "left",
+    //                 con: '',
+    //                 number: "",
+    //                 isRecord: "", //是否需要录音
+    //                 mp3_list: [],
+    //                 img_list: [],
+    //                 definition_list: [],
+    //                 AnswerList: [""],
+    //                 isAnswer: '',
+    //                 isChecked: '',
+    //                 judge: '',
+    //                 correctInput: ''
+    //             },
+    //         ],
+    //         fn_list: [
+    //             // {
+    //             //       type: 'def',
+    //             //       name: '更多释义',
+    //             //       isFn: false,
+    //             //   },
+    //             {
+    //                 type: 'record',
+    //                 name: '跟读',
+    //                 isFn: false,
+    //             },
+    //             // {
+    //             //     type: 'spell',
+    //             //     name: '拼写',
+    //             //     isFn: false,
+    //             // },
+    //             {
+    //                 type: 'input',
+    //                 name: '输入',
+    //                 isFn: false,
+    //             },
+    //             // {
+    //             //     type: 'copy',
+    //             //     name: '摹写',
+    //             //     isFn: false,
+    //             // },
+    //             // {
+    //             //     type: 'single',
+    //             //     name: '单选',
+    //             //     isFn: false,
+    //             // }, {
+    //             //     type: 'checkout',
+    //             //     name: '多选',
+    //             //     isFn: false,
+    //             // }, {
+    //             //     type: 'judge',
+    //             //     name: '判断',
+    //             //     isFn: false,
+    //             // },
+    //         ],
+    //         correct: [{
+    //             input: ["", ""],
+    //         }]
+    //     },
+    // },
+    {
+        type: "ligature_chs",
+        name: "连线",
+    },
+    // {
+    //     type: "record",
+    //     name: "录音题",
+    //     data_structure: {
+    //         type: "record",
+    //         name: "录音题",
+    //         title: "",
+    //         option: [{
+    //             mp3_list: [],
+    //             con: "",
+    //             value: "",
+    //         }, ]
+    //     }
+    // },
+    // {
+    //     type: "hearRecord",
+    //     name: "听录音题",
+    //     data_structure: {
+    //         type: "hearRecord",
+    //         name: "听录音题",
 
-//         title: "",
-//         option: [{
-//             mp3_list: [],
-//             con: "",
-//             value: "",
-//         }, ]
-//     }
-// },
-// {
-//     type: "sort",
-//     name: "排序题",
-// },
-// {
-//     type: "blank",
-//     name: "填空题",
-// },
-// {
-//     type: "annex",
-//     name: "附件题",
-// },
-// {
-//     type: "dropdown",
-//     name: "下拉题",
-// },
-// {
-//     type: "drawing",
-//     name: "画图题",
-// },
-// {
-//     type: "text_item",
-//     name: "文本条",
-//     data_structure: {
-//         type: "text_item",
-//         name: "文本条",
-//         title: "",
-//         option: [{
-//             number: "",
-//             con: "",
-//         }],
-//         numberList: {
-//             type: "number",
-//             name: "每行几个",
-//             con: "2",
-//             arr: [{
-//                     id: 1,
-//                     value: 1,
-//                 }, {
-//                     id: 2,
-//                     value: 2,
+    //         title: "",
+    //         option: [{
+    //             mp3_list: [],
+    //             con: "",
+    //             value: "",
+    //         }, ]
+    //     }
+    // },
+    // {
+    //     type: "sort",
+    //     name: "排序题",
+    // },
+    // {
+    //     type: "blank",
+    //     name: "填空题",
+    // },
+    // {
+    //     type: "annex",
+    //     name: "附件题",
+    // },
+    // {
+    //     type: "dropdown",
+    //     name: "下拉题",
+    // },
+    // {
+    //     type: "drawing",
+    //     name: "画图题",
+    // },
+    // {
+    //     type: "text_item",
+    //     name: "文本条",
+    //     data_structure: {
+    //         type: "text_item",
+    //         name: "文本条",
+    //         title: "",
+    //         option: [{
+    //             number: "",
+    //             con: "",
+    //         }],
+    //         numberList: {
+    //             type: "number",
+    //             name: "每行几个",
+    //             con: "2",
+    //             arr: [{
+    //                     id: 1,
+    //                     value: 1,
+    //                 }, {
+    //                     id: 2,
+    //                     value: 2,
 
-//                 }, {
-//                     id: 3,
-//                     value: 3,
-//                 },
-//                 {
-//                     id: 4,
-//                     value: 4,
-//                 },
-//             ]
-//         }
-//     }
-// },
-// {
-//     type: "bg_control",
-//     name: "背景图控件",
-//     data_structure: {
-//         type: 'bg_control',
-//         name: "背景图控件",
-//         img_list: [],
-//     }
-// },
-{
-  type: "NumberCombination_chs",
-  name: "数字组合",
-},
-{
-  type: "toneSelect_chs",
-  name: "音调选择",
-},
-{
-  type: "sudoku_chs",
-  name: "数独",
-},
-{
-  type: "text_problem_chs",
-  name: "课文上方的问题",
-},
-{
-  type: "newWord_preview_chs",
-  name: "生字展示",
-},
-{
-  type: "listen_record_single_syllable_chs",
-  name: "听录音选音节",
-},
-{
-  type: "zi_transverse_line_chs",
-  name: "字+横线",
-},
-{
-  type: "select_input_chs",
-  name: "选择填空控件",
-},
-{
-  type: "play_input_record_chs",
-  name: "播放+输入+录音",
-},
-{
-  type: "drag_chs",
-  name: "拖拽",
-},
-{
-  type: "sort_chs",
-  name: "排序"
-},
-{
-  type: "CourseStart_chs",
-  name: "封面",
-},
-{
-  type: "tinydemo_chs",
-  name: "富文本"
-},
+    //                 }, {
+    //                     id: 3,
+    //                     value: 3,
+    //                 },
+    //                 {
+    //                     id: 4,
+    //                     value: 4,
+    //                 },
+    //             ]
+    //         }
+    //     }
+    // },
+    // {
+    //     type: "bg_control",
+    //     name: "背景图控件",
+    //     data_structure: {
+    //         type: 'bg_control',
+    //         name: "背景图控件",
+    //         img_list: [],
+    //     }
+    // },
+    {
+        type: "NumberCombination_chs",
+        name: "数字组合",
+    },
+    {
+        type: "toneSelect_chs",
+        name: "音调选择",
+    },
+    {
+        type: "sudoku_chs",
+        name: "数独",
+    },
+    {
+        type: "text_problem_chs",
+        name: "课文上方的问题",
+    },
+    {
+        type: "newWord_preview_chs",
+        name: "生字展示",
+    },
+    {
+        type: "listen_record_single_syllable_chs",
+        name: "听录音选音节",
+    },
+    {
+        type: "zi_transverse_line_chs",
+        name: "字+横线",
+    },
+    {
+        type: "select_input_chs",
+        name: "选择填空控件",
+    },
+    {
+        type: "play_input_record_chs",
+        name: "播放+输入+录音",
+    },
+    {
+        type: "drag_chs",
+        name: "拖拽",
+    },
+    {
+        type: "sort_chs",
+        name: "排序"
+    },
+    {
+        type: "CourseStart_chs",
+        name: "封面",
+    },
+    {
+        type: "tinydemo_chs",
+        name: "富文本"
+    },
+    {
+        type: "video_chs",
+        name: "视频控件"
+    },
 ]
 
 

+ 6 - 6
src/components/Adult/inputModules/Drag.vue

@@ -23,7 +23,7 @@
             class="adult-book-input"
             type="textarea"
             :autosize="{ minRows: 2 }"
-            placeholder="请输入标题"
+            placeholder="请输入汉字"
             v-model="item.con"
             @blur="onBlur(item, 'con')"
           ></el-input>
@@ -40,7 +40,7 @@
             class="adult-book-input"
             type="textarea"
             :autosize="{ minRows: 2 }"
-            placeholder="请输入标题"
+            placeholder="请输入拼音"
             v-model="item.pinyin"
             @blur="onBlur(item, 'pinyin')"
           ></el-input>
@@ -188,12 +188,12 @@ export default {
     },
     // 添加选项
     addOption() {
-      let obj = this.data_structure.option[0];
+      let obj = JSON.parse(JSON.stringify(this.data_structure.option[0]));
       this.curQue.option.push(obj);
     },
     // 添加问题
     addCon() {
-      let obj = this.data_structure.con[0];
+      let obj = JSON.parse(JSON.stringify(this.data_structure.con[0]));
       this.curQue.con.push(obj);
     },
     // 删除问题
@@ -210,13 +210,13 @@ export default {
     },
     // 增加分词
     addFc(index) {
-      let obj = this.data_structure.detail;
+      let obj = JSON.parse(JSON.stringify(this.data_structure.detail));
       this.curQue.con[index].list.push(obj);
     },
 
     // 增加答案
     addAnswer(index) {
-      let obj = this.data_structure.answer;
+      let obj = JSON.parse(JSON.stringify(this.data_structure.answer));
       this.curQue.con[index].list.push(obj);
     },
   },

+ 14 - 0
src/components/Adult/inputModules/InputRecord.vue

@@ -18,6 +18,19 @@
         ></el-input>
       </div>
     </div>
+    <div>
+      <div class="adult-book-input-item">
+        <span class="adult-book-lable">页眉:</span>
+        <el-input
+          class="adult-book-input"
+          type="textarea"
+          autosize
+          placeholder="请输入页眉"
+          v-model="curQue.guide"
+          @blur="onBlur(curQue, 'guide')"
+        ></el-input>
+      </div>
+    </div>
     <div
       class="Big-Book-hanzi-option"
       v-for="(item, index) in curQue.option"
@@ -47,6 +60,7 @@ export default {
         type: "input_record_chs",
         name: "输入+录音",
         title: "",
+        guide: "",
         option: [
           {
             detail: {

+ 2 - 1
src/components/Adult/inputModules/Sort.vue

@@ -25,7 +25,7 @@
         <div class="NPC-sentence-Segword" style="position: relative">
           <SentenceSegwordChs :curQue="item.detail" />
           <img
-            style="position: absolute; right: 330px; top: 37px"
+            style="position: absolute; right: 287px; top: 37px"
             @click="deleteOption(index)"
             class="close"
             src="../../../assets/adult/del-close.png"
@@ -150,6 +150,7 @@ export default {
     },
     // 删除其中一个选项
     deleteOption(index) {
+      console.log(this.curQue.option);
       if (this.curQue.option.length <= 1) {
         this.$message.warning("至少要保留1个问题");
         return;

+ 123 - 0
src/components/Adult/inputModules/VideoControl.vue

@@ -0,0 +1,123 @@
+<!--  -->
+<template>
+  <div class="Big-Book-Record" v-if="curQue">
+    <div class="adult-book-input-item">
+      <span class="adult-book-lable">视频:</span>
+      <Upload
+        :changeFillId="changeVideo"
+        :datafileList="curQue.video_list"
+        :filleNumber="1"
+        :uploadType="'mp4'"
+      />
+    </div>
+    <div class="adult-book-input-item">
+      <span class="adult-book-lable">封面:</span>
+      <Upload
+        :changeFillId="changeImg"
+        :datafileList="curQue.img_list"
+        :filleNumber="1"
+        :uploadType="'image'"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+import Upload from "../common/Upload.vue";
+export default {
+  components: { Upload },
+  props: ["curQue", "fn_data", "changeCurQue"],
+  data() {
+    return {
+      value1: "",
+      data_structure: {
+        type: "video_chs",
+        name: "视频控件",
+        img_list: [],
+        video_list: [],
+      },
+    };
+  },
+  computed: {},
+  watch: {},
+  //方法集合
+  methods: {
+    changeImg(fileList) {
+      const articleImgList = JSON.parse(JSON.stringify(fileList));
+      const articleImgRes = [];
+      articleImgList.forEach((item) => {
+        if (item.response) {
+          const obj = {
+            name: item.name,
+            url: item.response.file_info_list[0].file_url,
+            id: "[FID##" + item.response.file_info_list[0].file_id + "##FID]",
+
+            media_duration: item.response.file_info_list[0].media_duration, //音频时长
+          };
+          articleImgRes.push(obj);
+        }
+      });
+      this.curQue.img_list = JSON.parse(JSON.stringify(articleImgRes));
+    },
+    changeVideo(fileList) {
+      const articleImgList = JSON.parse(JSON.stringify(fileList));
+      const articleImgRes = [];
+      articleImgList.forEach((item) => {
+        if (item.response) {
+          const obj = {
+            name: item.name,
+            url: item.response.file_info_list[0].file_url,
+            id: "[FID##" + item.response.file_info_list[0].file_id + "##FID]",
+
+            media_duration: item.response.file_info_list[0].media_duration, //音频时长
+          };
+          articleImgRes.push(obj);
+        }
+      });
+      this.curQue.video_list = JSON.parse(JSON.stringify(articleImgRes));
+    },
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {
+    if (!this.curQue) {
+      this.changeCurQue(this.data_structure);
+    }
+  },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  beforeCreate() {}, //生命周期 - 创建之前
+  beforeMount() {}, //生命周期 - 挂载之前
+  beforeUpdate() {}, //生命周期 - 更新之前
+  updated() {}, //生命周期 - 更新之后
+  beforeDestroy() {}, //生命周期 - 销毁之前
+  destroyed() {}, //生命周期 - 销毁完成
+  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+};
+</script>
+<style lang='scss' scoped>
+//@import url(); 引入公共css类
+.Big-Book-Record {
+  &-icon {
+    width: 48px;
+    height: 48px;
+  }
+  .Big-Book-hanzi-option {
+    margin-top: 20px;
+    display: flex;
+    align-items: center;
+  }
+  .addoption {
+    width: 148px;
+    height: 40px;
+    background: #f3f3f3;
+    border: 1px dashed rgba(0, 0, 0, 0.15);
+    box-sizing: border-box;
+    border-radius: 4px;
+    text-align: center;
+    line-height: 40px;
+    cursor: pointer;
+    font-size: 14px;
+    color: #000000;
+  }
+}
+</style>

+ 257 - 0
src/components/Adult/preview/SentenceSortQP.vue

@@ -0,0 +1,257 @@
+<!--  -->
+<template>
+  <div class="Big-Book-prev-Textdes sentenceSort" v-if="curQue">
+    <h2>{{ curQue.title }}</h2>
+    <div class="item-box" v-for="(item, index) in curQue.option" :key="index">
+      <div class="item-right">
+        <b>{{ index + 1 }}</b>
+        <draggable
+          v-model="item.detail.wordsList"
+          animation="300"
+          @start="onStart($event, index)"
+          @end="onEnd($event, index)"
+          :move="onMove"
+          :options="{
+            group: { name: 'itxst' + index, pull: 'clone' },
+            sort: true,
+          }"
+        >
+          <transition-group>
+            <div
+              class="item"
+              v-for="(itemNode, indexNode) in item.detail.wordsList"
+              :key="indexNode"
+            >
+              <p>
+                {{ itemNode.pinyin }}
+              </p>
+              <p>
+                {{ itemNode.chs }}
+              </p>
+            </div>
+          </transition-group>
+        </draggable>
+      </div>
+      <div
+        class="item-right_bottom"
+        :style="{
+          width:
+            item.detail.wordsList.length * 82 +
+            item.detail.wordsList.length * 2 +
+            'px',
+        }"
+      >
+        <draggable
+          v-model="SortArr[index]"
+          :group="'itxst' + index"
+          animation="300"
+          @start="onStart2($event, index)"
+          @end="onEnd2($event, index)"
+          :move="onMove"
+        >
+          <transition-group>
+            <div
+              class="item"
+              v-for="(itemNode, indexNode) in SortArr[index]"
+              :key="indexNode"
+            >
+              <p>
+                {{ itemNode.pinyin }}
+              </p>
+              <p>
+                {{ itemNode.chs }}
+              </p>
+            </div>
+          </transition-group>
+        </draggable>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import draggable from "vuedraggable";
+export default {
+  components: { draggable },
+  props: ["curQue"],
+  data() {
+    return {
+      userList: [],
+      drag: false,
+      SortArr: [],
+      moveId: null,
+    };
+  },
+  computed: {},
+  watch: {},
+  //方法集合
+  methods: {
+    onStart() {
+      this.drag = true;
+    },
+    //拖拽结束事件
+    onEnd(e, index) {
+      let _this = this;
+      _this.drag = false;
+      let newarr = [
+        ...new Set(
+          this.curQue.option[index].detail.wordsList.map((item) =>
+            JSON.stringify(item)
+          )
+        ),
+      ];
+      let arr = newarr.map((item) => JSON.parse(item));
+      //如果左边
+      if (arr.length == this.curQue.option[index].detail.wordsList.length) {
+        return;
+      }
+      this.curQue.option[index].detail.wordsList.splice(e.newDraggableIndex, 1);
+    },
+    onStart2(e) {
+      this.drag = true;
+      console.log(e);
+    },
+    //拖拽结束事件
+    onEnd2(e, index) {
+      this.drag = false;
+      let newarr = [
+        ...new Set(
+          this.curQue.option[index].detail.wordsList.map((item) =>
+            JSON.stringify(item)
+          )
+        ),
+      ];
+      let arr = newarr.map((item) => JSON.parse(item));
+      //如果左边
+      if (arr.length == this.curQue.option[index].detail.wordsList.length) {
+        return;
+      }
+      this.curQue.option[index].detail.wordsList.splice(e.newDraggableIndex, 1);
+    },
+    onMove(e) {
+      // this.moveId = e.relatedContext.element.id;
+    },
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {
+    this.curQue.option.forEach((item) => {
+      let arr = [];
+      this.SortArr.push(arr);
+    });
+  },
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  beforeCreate() {}, //生命周期 - 创建之前
+  beforeMount() {}, //生命周期 - 挂载之前
+  beforeUpdate() {}, //生命周期 - 更新之前
+  updated() {}, //生命周期 - 更新之后
+  beforeDestroy() {}, //生命周期 - 销毁之前
+  destroyed() {}, //生命周期 - 销毁完成
+  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
+};
+</script>
+<style lang='scss' scoped>
+//@import url(); 引入公共css类
+.sentenceSort {
+  width: 100%;
+  background: #f7f7f7;
+  padding: 24px;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  box-sizing: border-box;
+  border-radius: 8px;
+  h2 {
+    color: #000000;
+    font-size: 16px;
+    line-height: 19px;
+    margin: 0;
+    font-weight: normal;
+  }
+  .item-box {
+    margin: 8px 0;
+    b {
+      background: #de4444;
+      text-align: center;
+      width: 32px;
+      height: 32px;
+      color: #ffffff;
+      border-radius: 50%;
+      font-weight: bold;
+      font-size: 16px;
+      color: #ffffff;
+      font-family: "robot";
+      line-height: 32px;
+      margin-right: 4px;
+    }
+  }
+  .item-right {
+    display: flex;
+    align-items: center;
+    > :nth-child(2) {
+      > :nth-child(1) {
+        display: flex;
+        flex-wrap: wrap;
+        .item {
+          width: 82px;
+          height: 70px;
+          background: #ffffff;
+          border-radius: 8px;
+          text-align: center;
+          margin-right: 2px;
+          color: #000000;
+          margin-bottom: 2px;
+          p {
+            margin: 0;
+            line-height: 150%;
+          }
+          > :nth-child(1) {
+            font-family: "GB-PINYINOK-B";
+            font-size: 16px;
+            margin-top: 8px;
+          }
+          > :nth-child(2) {
+            font-family: "FZJCGFKTK";
+            font-size: 20px;
+          }
+        }
+      }
+    }
+  }
+  .item-right_bottom {
+    min-width: 200px;
+    max-width: 696px;
+    background: white;
+    margin-left: 35px;
+    margin-top: 10px;
+    min-height: 70px;
+    > :nth-child(1) {
+      > :nth-child(1) {
+        display: flex;
+        flex-wrap: wrap;
+        .item {
+          width: 82px;
+          height: 70px;
+          background: #e6e6e6;
+          border-radius: 8px;
+          text-align: center;
+          margin-right: 2px;
+          color: #000000;
+          margin-bottom: 2px;
+          p {
+            margin: 0;
+            line-height: 150%;
+          }
+          > :nth-child(1) {
+            font-family: "GB-PINYINOK-B";
+            font-size: 16px;
+            margin-top: 8px;
+          }
+          > :nth-child(2) {
+            font-family: "FZJCGFKTK";
+            font-size: 20px;
+          }
+        }
+      }
+    }
+  }
+}
+</style>

+ 61 - 0
src/components/Adult/preview/VideoControl.vue

@@ -0,0 +1,61 @@
+<template>
+  <div class="videoView">
+    <video
+      :src="curQue.video_list[0].url"
+      controls
+      :poster="curQue.img_list[0].url"
+      controlslist="nodownload"
+      disablePictureInPicture
+    ></video>
+  </div>
+</template>
+
+<script>
+//这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
+//例如:import 《组件名称》from ‘《组件路径》';
+export default {
+  //import引入的组件需要注入到对象中才能使用
+  components: {},
+  props: ["curQue", "fn_data", "type"],
+  data() {
+    //这里存放数据
+    return {};
+  },
+  //计算属性 类似于data概念
+  computed: {},
+  //监控data中数据变化
+  watch: {},
+  //方法集合
+  methods: {},
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {},
+  //生命周期-创建之前
+  beforeCreated() {},
+  //生命周期-挂载之前
+  beforeMount() {},
+  //生命周期-更新之前
+  beforUpdate() {},
+  //生命周期-更新之后
+  updated() {},
+  //生命周期-销毁之前
+  beforeDestory() {},
+  //生命周期-销毁完成
+  destoryed() {},
+  //如果页面有keep-alive缓存功能,这个函数会触发
+  activated() {},
+};
+</script>
+<style lang="scss" scoped>
+/* @import url(); 引入css类 */
+.videoView {
+  width: 100%;
+  height: 100%;
+  video {
+    width: 100%;
+    height: 100%;
+    object-fit: fill; //将视频标签填充整个元素
+  }
+}
+</style>

+ 21 - 11
src/views/adultInput.vue

@@ -441,17 +441,6 @@
                   </template>
                   <template v-else> </template>
                 </template>
-                <template v-if="topicIitem.type == 'sort_chs'">
-                  <template v-if="topicIitem.is_edit">
-                    <Sort
-                      :curQue="topicIitem.data"
-                      :type="topicIitem.type"
-                      :fn_data="fn_data"
-                      :changeCurQue="changeCurQue"
-                    />
-                  </template>
-                  <template v-else> </template>
-                </template>
                 <template v-if="topicIitem.type == 'CourseStart_chs'">
                   <template v-if="topicIitem.is_edit">
                     <CourseStart
@@ -525,6 +514,23 @@
                   </template>
                   <template v-else> </template>
                 </template>
+                <template v-if="topicIitem.type == 'video_chs'">
+                  <template v-if="topicIitem.is_edit">
+                    <VideoControl
+                      :curQue="topicIitem.data"
+                      :type="topicIitem.type"
+                      :fn_data="fn_data"
+                      :changeCurQue="changeCurQue"
+                    />
+                  </template>
+                  <template v-else>
+                    <VideoControlView
+                      :curQue="topicIitem.data"
+                      :type="topicIitem.type"
+                      :fn_data="fn_data"
+                    />
+                  </template>
+                </template>
               </div>
               <div
                 v-if="topicIitem.data && topicIitem.is_edit"
@@ -660,6 +666,7 @@ import Sort from "@/components/Adult/inputModules/Sort.vue";
 import CourseStart from "@/components/Adult/inputModules/CourseStart.vue";
 import RecordControl from "@/components/Adult/inputModules/RecordControl.vue";
 import Tinydemo from "@/components/Adult/inputModules/Tinydemo.vue";
+import VideoControl from "@/components/Adult/inputModules/VideoControl.vue";
 
 import Textdes from "@/components/Adult/inputModules/Textdes.vue";
 import Record from "@/components/Adult/inputModules/Record.vue";
@@ -678,6 +685,7 @@ import InputRecordview from "@/components/Adult/preview/InputRecord.vue";
 import BgControlview from "@/components/Adult/preview/BgControl.vue";
 import NewordPhraseview from "@/components/Adult/preview/WordPhrase.vue";
 import UploadControlView from "@/components/Adult/preview/UploadControlView.vue";
+import VideoControlView from "@/components/Adult/preview/VideoControl.vue";
 
 import DialogueAnswerViewChs from "@/components/Adult/preview/DialogueArticleViewChs/DialogueAnswerViewChs.vue";
 import Preview from "@/components/Adult/Preview.vue";
@@ -740,6 +748,8 @@ export default {
     CourseStart,
     RecordControl,
     Tinydemo,
+    VideoControl,
+    VideoControlView,
   },
   data() {
     return {