liuhaidi123 3 недель назад
Родитель
Сommit
2dd8a2c78d

+ 4 - 0
src/views/book/courseware/create/components/question/article/Article.vue

@@ -148,6 +148,8 @@ export default {
             img_list: [],
             widthNumber: null,
           },
+          sourceList: [],
+          sourcePosition: 'after',
         };
         // 分段
         contentArr.forEach((item, index) => {
@@ -330,6 +332,8 @@ export default {
               img_list: [],
               widthNumber: null,
             },
+            sourceList: [],
+            sourcePosition: 'after',
           };
           this.data.detail.push(obj);
         }

+ 46 - 9
src/views/book/courseware/create/components/question/article/CheckArticle.vue

@@ -11,15 +11,28 @@
       </div>
       <div v-for="(item, index) in data.detail" :key="index + 'paragraph'" class="paragraph">
         <label>段 {{ index + 1 }}</label>
-        <div class="set-para">
-          <span>对齐方式:</span>
-          <el-radio-group v-model="item.paraAlign">
-            <el-radio label="left">左对齐</el-radio>
-            <el-radio label="center">居中对齐</el-radio>
-            <el-radio label="right">右对齐</el-radio>
-          </el-radio-group>
-        </div>
-        <div class="remark-box" @click="showRemark(index)"><SvgIcon icon-class="edit-line" />添加备注</div>
+        <template v-if="data.type === 'article'">
+          <div class="set-para">
+            <span>对齐方式:</span>
+            <el-radio-group v-model="item.paraAlign">
+              <el-radio label="left">左对齐</el-radio>
+              <el-radio label="center">居中对齐</el-radio>
+              <el-radio label="right">右对齐</el-radio>
+            </el-radio-group>
+          </div>
+          <div class="remark-box" @click="showRemark(index)"><SvgIcon icon-class="edit-line" />添加备注</div>
+          <!-- <el-upload
+            action="no"
+            accept="image/*,video/*"
+            :http-request="handleImage"
+            :before-upload="handleBeforeImage"
+            :on-exceed="handleExceed"
+            :limit="1"
+            :key="index"
+          >
+            <span>上传图片/视频</span>
+          </el-upload> -->
+        </template>
         <div v-for="(items, indexs) in item.sentenceStr" :key="indexs + 'words'" class="sentence-box">
           <div class="sentence">
             <b>{{ indexs + 1 }}.</b>
@@ -237,6 +250,30 @@ export default {
     onBlur(item, field) {
       item[field] = item[field] ? item[field].trim() : '';
     },
+    // 处理超出图片个数操作
+    handleExceed(files, fileList) {
+      this.$message.warning(
+        `当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`,
+      );
+    },
+    // 图片上传前处理
+    handleBeforeImage(file, index) {
+      console.log(index);
+      // 判断文件是否为图片
+      if (!file.type.includes('image') && !file.type.includes('video')) {
+        this.$message.error('请选择图片或视频文件');
+        return false;
+      }
+    },
+    // 图片上传
+    handleImage(file, index) {
+      fileUpload('Mid', file, { isGlobalprogress: true }).then(({ file_info_list }) => {
+        if (file_info_list.length > 0) {
+          const { file_id, file_url_open, type } = file_info_list[0];
+          console.log(index);
+        }
+      });
+    },
   },
 };
 </script>