Просмотр исходного кода

编辑组件页面清空内容功能

dsy 1 месяц назад
Родитель
Сommit
a3c86e57c9

+ 4 - 0
src/views/book/courseware/create/components/CreateCanvas.vue

@@ -1517,6 +1517,10 @@ export default {
       g2.type = tmp.type;
       g2.id = tmp.id;
     },
+    clearContent() {
+      this.data.row_list = [];
+      this.content_group_row_list = [];
+    },
   },
 };
 </script>

+ 6 - 0
src/views/book/courseware/create/index.vue

@@ -244,6 +244,12 @@ export default {
     switchComponent() {
       this.$refs.createCanvas.switchComponent();
     },
+    /**
+     * 清空内容(向CreateCanvas组件传递指令)
+     */
+    clearContent() {
+      this.$refs.createCanvas.clearContent();
+    },
   },
 };
 </script>

+ 25 - 0
src/views/personal_workbench/edit_task/edit/index.vue

@@ -50,6 +50,7 @@
           <span class="link" @click="saveCoursewareContent('quit')">退出编辑</span>
           <span class="link" @click="saveCoursewareContent()">保存</span>
           <span v-if="isEdit && !type" class="link" @click="showFullTextSettings">样式调整</span>
+          <span v-if="isEdit" class="link" @click="clearContent">清空</span>
           <span v-if="type" class="link" @click="goBackTemplateList">返回模板列表</span>
           <span v-else class="link" @click="goBackBookList">返回教材列表</span>
         </div>
@@ -296,6 +297,30 @@ export default {
       this.temporaryCoursewareID = temporaryCoursewareID;
       this.visibleTemplate = false;
     },
+    /**
+     * 清空内容(二次确认)
+     */
+    async clearContent() {
+      try {
+        await this.$confirm('您确定要清空当前内容吗?', '提示', {
+          confirmButtonText: '确认',
+          cancelButtonText: '取消',
+          type: 'warning',
+        });
+        await this.$confirm('清空内容后不可恢复,您确定要继续吗?', '提示', {
+          confirmButtonText: '确认',
+          cancelButtonText: '取消',
+          type: 'warning',
+        });
+        this.$refs.create.clearContent();
+      } catch (err) {
+        // 忽略用户取消确认的情况
+        if (err === 'cancel' || err === 'close') return;
+        // 若为请求错误,尽量展示友好信息
+        const msg = (err && err.message) || (err && err.msg) || '操作失败';
+        this.$message.error(msg);
+      }
+    },
     goBackTemplateList() {
       if (this.type === 'personal') {
         this.$router.push({ path: '/personal_workbench/template_list' });