Browse Source

选中内容进行批注

natasha 5 days ago
parent
commit
e12c7d3130
1 changed files with 18 additions and 6 deletions
  1. 18 6
      src/views/book/courseware/preview/CoursewarePreview.vue

+ 18 - 6
src/views/book/courseware/preview/CoursewarePreview.vue

@@ -72,15 +72,16 @@
 
     <!-- 选中文本的工具栏 -->
     <div v-show="showToolbar" class="contentmenu" :style="contentmenu">
-      <span class="button" @click="setNote"><SvgIcon icon-class="sidebar-text" size="14" /> 笔记</span>
-      <span class="line"></span>
-      <span class="button" @click="setCollect"><SvgIcon icon-class="sidebar-collect" size="14" /> 收藏 </span>
       <template v-if="canRemark">
-        <span class="line"></span>
-        <span class="button" @click="handleMenuItemClick"
+        <span class="button" @click="handleMenuItemClick($event, 'tool')"
           ><SvgIcon icon-class="sidebar-pushpin" size="14" /> 添加批注
         </span>
       </template>
+      <template v-else>
+        <span class="button" @click="setNote"><SvgIcon icon-class="sidebar-text" size="14" /> 笔记</span>
+        <span class="line"></span>
+        <span class="button" @click="setCollect"><SvgIcon icon-class="sidebar-collect" size="14" /> 收藏 </span>
+      </template>
     </div>
   </div>
 </template>
@@ -443,8 +444,19 @@ export default {
       }; // 设置菜单位置
       this.showMenu = true; // 显示菜单
     },
-    handleMenuItemClick() {
+    handleMenuItemClick(event, type) {
       this.showMenu = false; // 隐藏菜单
+      if (type && type === 'tool') {
+        let info = this.selectHandleInfo;
+        this.menuPosition = {
+          x: event.clientX - this.divPosition.left,
+          y: event.clientY - this.divPosition.top - 20,
+        }; // 设置菜单位置
+        this.componentId = info.blockId;
+
+        this.$emit('computeScroll');
+        this.showMenu = false;
+      }
       this.$emit(
         'addRemark',
         this.menuPosition.select_node,