Parcourir la source

删除章节、课件时二次确定

dsy il y a 1 semaine
Parent
commit
499121175c
1 fichiers modifiés avec 46 ajouts et 28 suppressions
  1. 46 28
      src/views/personal_workbench/project/ProductionEditorialManage.vue

+ 46 - 28
src/views/personal_workbench/project/ProductionEditorialManage.vue

@@ -345,40 +345,58 @@ export default {
       });
     },
     /**
-     * 删除章节
+     * 删除章节(二次确认)
      * @param {string} id - 章节ID
      */
-    deleteChapter(id) {
-      this.$confirm('是否确认删除该章节?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          ChapterDeleteChapter({ id }).then(() => {
-            this.getBookChapterStructExpandList();
-            this.$message.success('删除成功');
-          });
-        })
-        .catch(() => {});
+    async deleteChapter(id) {
+      try {
+        await this.$confirm('是否确认删除该章节?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        });
+        await this.$confirm('删除章节后,相关内容将无法恢复,是否继续?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        });
+
+        await ChapterDeleteChapter({ id });
+        this.getBookChapterStructExpandList();
+        this.$message.success('删除成功');
+      } catch (err) {
+        // 忽略用户取消确认的情况
+        if (err === 'cancel' || err === 'close') return;
+        const msg = (err && err.message) || (err && err.msg) || '操作失败';
+        this.$message.error(msg);
+      }
     },
     /**
-     * 删除课件
+     * 删除课件(二次确认)
      * @param {string} id - 课件ID
      */
-    deleteCourseware(id) {
-      this.$confirm('是否确认删除该课件?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          ChapterDeleteCourseware({ id }).then(() => {
-            this.getBookChapterStructExpandList();
-            this.$message.success('删除成功');
-          });
-        })
-        .catch(() => {});
+    async deleteCourseware(id) {
+      try {
+        await this.$confirm('是否确认删除该课件?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        });
+        await this.$confirm('删除课件后,相关内容将无法恢复,是否继续?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning',
+        });
+
+        await ChapterDeleteCourseware({ id });
+        this.getBookChapterStructExpandList();
+        this.$message.success('删除成功');
+      } catch (err) {
+        // 忽略用户取消确认的情况
+        if (err === 'cancel' || err === 'close') return;
+        const msg = (err && err.message) || (err && err.msg) || '操作失败';
+        this.$message.error(msg);
+      }
     },
     /**
      * 打开修改章节名称对话框