1
YM
2024-05-15 e4bbe681c35e9f8f2d2ef6a3e40f3645239987ac
src/views/home.vue
@@ -92,9 +92,14 @@
      <div class="menuContent" v-if="menuState.open">
        <div class="searchBox">
          <div class="inputBox" v-if="activeMenu !== 2">
            <el-input class="custom-input" placeholder="请输入内容" v-model="searchText">
            <el-input
              class="custom-input"
              placeholder="请输入内容"
              v-model="searchText"
              @keyup.enter="searchBook"
            >
              <template #prefix>
                <el-icon @click="searchBook"><Search /></el-icon>
                <el-icon><Search /></el-icon>
              </template>
            </el-input>
          </div>
@@ -113,12 +118,14 @@
        <!-- 目录 -->
        <div class="menuList" v-if="activeMenu == 0">
          <el-tree
            ref="catalogTree"
            style="max-width: 600px"
            default-expand-all="true"
            :data="catalogueData"
            :props="defaultProps"
            v-if="catalogueData.length > 0"
            @node-click="handleNodeClick"
            :filter-node-method="filterNode"
          />
          <div v-if="catalogueData.length == 0">
            <el-empty :image-size="60" description="暂无数据" />
@@ -144,8 +151,8 @@
            </div>
          </div>
          <div class="list-box">
            <div v-if=" scribeData.noteList.length > 0">
              <div v-for="(item, index) in  scribeData.noteList" :key="item.key" class="listItem">
            <div v-if="scribeData.noteList.length > 0">
              <div v-for="(item, index) in scribeData.noteList" :key="item.key" class="listItem">
                <div class="textBox">
                  <div class="title">
                    <div class="title-con">
@@ -183,7 +190,7 @@
                </div>
              </div>
            </div>
            <div v-if=" scribeData.noteList.length == 0">
            <div v-if="scribeData.noteList.length == 0">
              <el-empty :image-size="60" description="暂无数据" />
            </div>
          </div>
@@ -779,7 +786,9 @@
    <template #footer>
      <span class="dialog-footer">
        <el-button @click="screenshotClose">取 消</el-button>
        <el-button type="primary" @click="addScreenshot" :loading="screenshotLoading">确 定</el-button>
        <el-button type="primary" @click="addScreenshot" :loading="screenshotLoading"
          >确 定</el-button
        >
      </span>
    </template>
  </el-dialog>
@@ -983,9 +992,9 @@
    windowSelection: (data) => {
      // 绑定子应用选择监听事件
      console.log(data, '子应用选择')
      if(data.txt){
      if (data.txt) {
        getSelection(data)
      }else{
      } else {
        showToolBox.value = false
      }
    },
@@ -1002,8 +1011,7 @@
      //   catalogName: "",
      // }
      console.log(data, '页面切换:目前显示页面和对应的章节信息')
    },
    }
  })
  // 调用子层方法
  // if (window.qiankunState && window.qiankunState.aa) window.qiankunState.aa(1)
@@ -1034,7 +1042,7 @@
  axios
    .get(resourceUrl + '/1/information.json?t=123')
    .then(function (response) {
      console.log(response.data);
      console.log(response.data)
      var json = response.data
      // 处理获取到的json数据
      catalogueData.value = json.data
@@ -1047,8 +1055,15 @@
  children: 'children',
  label: 'label'
}
const filterNode = (value, data) => {
  if (!value) return true
  return data.label.indexOf(value) !== -1
}
const handleNodeClick = (data) => {
  document.getElementById(data.id).scrollIntoView()
  console.log(data)
  if (window.qiankunState && window.qiankunState.gotoPage)
    window.qiankunState.gotoPage(data.chapter, data.start)
}
//获取资源
@@ -1193,7 +1208,7 @@
    case '0':
      break
    case '1':
    // getSignData()
      // getSignData()
      break
    case '2':
      break
@@ -1285,11 +1300,14 @@
  }
  // getNotesList()
}
const catalogTree = ref()
const searchBook = async () => {
  if (activeMenu.value == 0) {
    if (catalogTree) catalogTree.value.filter(searchText.value)
  }
  if (activeMenu.value == 1) {
    // getNotesList()
    getSignData()
  }
  if (activeMenu.value == 2) {
    let dataList = JSON.parse(JSON.stringify(resourceDataList.value))
@@ -1598,10 +1616,7 @@
const labelShow = (str) => {}
//标签
const reMark =() => {
}
const reMark = () => {}
//截图
//截图事件
function jitT() {
@@ -1643,16 +1658,18 @@
          }
        ]
      }
    }).then((res) => {
      screenshotLoading.value = false
      getScreenshotList()
      nameData.value = ''
      urlData.value = ''
      floatingToolData.activeToolData = ''
      screenshotVisble.value = false
    }).catch(function (error) {
      screenshotLoading.value = false
    })
      .then((res) => {
        screenshotLoading.value = false
        getScreenshotList()
        nameData.value = ''
        urlData.value = ''
        floatingToolData.activeToolData = ''
        screenshotVisble.value = false
      })
      .catch(function (error) {
        screenshotLoading.value = false
      })
  } else {
    ElMessage.error('截图名称不能为空!')
  }
@@ -1912,6 +1929,7 @@
    case '高亮':
      dom = 'highLightData-' + bookId.value
      data = dialogToolData.lineHeight[dialogToolData.chapter]
      if (!data) data = []
      data.push({
        id: toolClass.uuid(8),
        txt: dialogToolData.txt,
@@ -1923,6 +1941,7 @@
    case '划线':
      dom = 'underline-' + bookId.value
      data = dialogToolData.scribeList[dialogToolData.chapter]
      if (!data) data = []
      data.push({
        id: toolClass.uuid(8),
        txt: dialogToolData.txt,
@@ -1934,14 +1953,16 @@
    case '笔记':
      if (!formData.desc.replace(/^\s*|\s*$/g, '')) {
        ElMessage.error('笔记内容不能为空!')
        return
        return
      }
      if (!noteColorActive.value) {
        ElMessage.error('请选择笔记颜色!')
        return
      }
      dom = 'notes-' + bookId.value
      data = dialogToolData.notesList.length != 0 ? dialogToolData.notesList[dialogToolData.chapter] : []
      data =
        dialogToolData.notesList.length != 0 ? dialogToolData.notesList[dialogToolData.chapter] : []
      if (!data) data = []
      data.push({
        id: toolClass.uuid(8),
        txt: dialogToolData.txt,
@@ -1951,7 +1972,7 @@
        createDate: new Date(),
        note: formData.desc.replace(/^\s*|\s*$/g, '')
      })
      break
  }
  request({
@@ -1975,8 +1996,6 @@
    getSignData()
  })
}
const getSignData = () => {
  request({
@@ -2040,7 +2059,7 @@
        // 储值
        scribeData.noteList = data
        dialogToolData.notesList[item.key] = data
        console.log(dialogToolData.notesList,"notesList")
        console.log(dialogToolData.notesList, 'notesList')
        // 渲染
        for (let j = 0; j < data.length; j++) {
          const citem = data[j]
@@ -2062,16 +2081,16 @@
})
// 划线、笔记、高亮点击回调
window.signClick = (type, id)=>{
  console.log("signClick点击事件回调的实例", type, id);
window.signClick = (type, id) => {
  console.log('signClick点击事件回调的实例', type, id)
  // if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[id]})
  if(type == 'Note'){
  if (type == 'Note') {
    let data = dialogToolData.notesList.filter((item) => id.indexOf(item.id) == -1)
    console.log(data)
    formData.desc = notes.note
    noteColorActive.value = notes.color
    addNoteVisble.value = true
  }else{
  } else {
    lineDelete.showLineDelete = true
    lineDelete.deleteType = type
    lineDelete.id = id
@@ -2120,11 +2139,11 @@
      ]
    }
  }).then((res) => {
    if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[ids]})
    if (window.qiankunState && window.qiankunState.delSign)
      window.qiankunState.delSign({ ids: [ids] })
    getSignData()
  })
}
const lineDeleteBtn = () => {
  if (lineDelete.deleteType == 'underline') {
@@ -2225,12 +2244,12 @@
        message: '删除笔记成功!',
        type: 'success'
      })
      if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[id]})
      if (window.qiankunState && window.qiankunState.delSign)
        window.qiankunState.delSign({ ids: [id] })
      getNotesList()
    })
  }
}
//内容区域顶部显示