Sfoglia il codice sorgente

去掉对话课文录入时的空段落

natasha 1 mese fa
parent
commit
28dee7b6da

+ 63 - 57
src/views/book/courseware/create/components/question/dialogue_article/Article.vue

@@ -116,13 +116,17 @@
                     v-else
                     class="avatar"
                     :style="{
-                      backgroundColor: data.property.role_list.find((items) => items.id === item.roleIndex).color,
+                      backgroundColor: data.property.role_list.find((items) => items.id === item.roleIndex)
+                        ? data.property.role_list.find((items) => items.id === item.roleIndex).color
+                        : '',
                     }"
                   >
                     {{
-                      data.property.role_list.find((items) => items.id === item.roleIndex).fullName
+                      data.property.role_list.find((items) => items.id === item.roleIndex)
                         ? data.property.role_list.find((items) => items.id === item.roleIndex).fullName
-                        : data.property.role_list.find((items) => items.id === item.roleIndex).name
+                          ? data.property.role_list.find((items) => items.id === item.roleIndex).fullName
+                          : data.property.role_list.find((items) => items.id === item.roleIndex).name
+                        : ''
                     }}
                   </span>
                 </div>
@@ -799,65 +803,67 @@ export default {
       }
       let textList = this.textInput.trim().split('\n');
       textList.forEach((item) => {
-        let obj = {
-          roleIndex: null,
-          notice: '',
-          para: '',
-          remark: {
-            chs: '',
-            en: '',
-            heightNumber: null,
-            img_list: [],
-            widthNumber: null,
-            chsBg: '#988ed6',
-            enBg: '#fff',
-          },
-          type: 'notice',
-          paraIndex: 0,
-          sentences: [],
-          seg_words: [],
-          wordsList: [],
-          timeList: [],
-          isTitle: false,
-          sentencesEn: [],
-        };
-        if (item.indexOf(':') > -1) {
-          // 如果包含描述、语境或者角色名
-          let prefix = item.substring(0, item.indexOf(':'));
-          let content = item.substring(item.indexOf(':') + 1);
-          if (prefix === '描述' || prefix === '语境') {
-            // 语境内容
-            obj.roleIndex = null;
-            obj.notice = content;
-            obj.type = 'notice';
-            this.$set(obj, 'noticeSegList', []);
+        if (item.trim()) {
+          let obj = {
+            roleIndex: null,
+            notice: '',
+            para: '',
+            remark: {
+              chs: '',
+              en: '',
+              heightNumber: null,
+              img_list: [],
+              widthNumber: null,
+              chsBg: '#988ed6',
+              enBg: '#fff',
+            },
+            type: 'notice',
+            paraIndex: 0,
+            sentences: [],
+            seg_words: [],
+            wordsList: [],
+            timeList: [],
+            isTitle: false,
+            sentencesEn: [],
+          };
+          if (item.indexOf(':') > -1) {
+            // 如果包含描述、语境或者角色名
+            let prefix = item.substring(0, item.indexOf(':'));
+            let content = item.substring(item.indexOf(':') + 1);
+            if (prefix === '描述' || prefix === '语境') {
+              // 语境内容
+              obj.roleIndex = null;
+              obj.notice = content;
+              obj.type = 'notice';
+              this.$set(obj, 'noticeSegList', []);
+            } else {
+              obj.para = content;
+              obj.type = 'text';
+              this.$set(obj, 'segList', []);
+              let role = this.data.property.role_list.find((items) => items.fullName === prefix);
+              if (!role) {
+                // 角色名不存在
+                this.data.property.role_list.push({
+                  name: prefix,
+                  mark: getRandomNumber(),
+                  color: roleDefaultColorList[this.data.property.role_list.length],
+                  simpleHead: '',
+                  img_list: [],
+                  fullName: prefix,
+                  fullPinyin: '',
+                  id: Math.random().toString(36).substr(2),
+                });
+              }
+              obj.roleIndex = this.data.property.role_list.find((items) => items.fullName === prefix).id;
+            }
           } else {
-            obj.para = content;
+            obj.roleIndex = this.curRole;
+            obj.para = item;
             obj.type = 'text';
             this.$set(obj, 'segList', []);
-            let role = this.data.property.role_list.find((items) => items.fullName === prefix);
-            if (!role) {
-              // 角色名不存在
-              this.data.property.role_list.push({
-                name: prefix,
-                mark: getRandomNumber(),
-                color: roleDefaultColorList[this.data.property.role_list.length],
-                simpleHead: '',
-                img_list: [],
-                fullName: prefix,
-                fullPinyin: '',
-                id: Math.random().toString(36).substr(2),
-              });
-            }
-            obj.roleIndex = this.data.property.role_list.find((items) => items.fullName === prefix).id;
           }
-        } else {
-          obj.roleIndex = this.curRole;
-          obj.para = item;
-          obj.type = 'text';
-          this.$set(obj, 'segList', []);
+          this.data.detail.push(obj);
         }
-        this.data.detail.push(obj);
       });
 
       // this.data.detail.push({