sc
litian
2024-05-15 1d88745fc1d5b2a62a6f2b9bca765c76ea48427c
src/views/home.vue
@@ -144,8 +144,8 @@
            </div>
          </div>
          <div class="list-box">
            <div v-if="scribeData.noteList.length > 0 && !scribeData.loading">
              <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">
@@ -153,8 +153,8 @@
                      <span>{{ item.createDate }}</span>
                    </div>
                    <div>
                      <img :src="bianji" @click="update(item, 'note')" />
                      <img :src="shanchu" @click="deleteBtn(item, 'note')" />
                      <img :src="bianji" @click="update(item)" />
                      <img :src="shanchu" @click="deleteBtn(item)" />
                    </div>
                  </div>
                  <div
@@ -179,11 +179,11 @@
                      {{ item.note }}
                    </div>
                  </div>
                  <div class="chapter">{{ item.selectText }}</div>
                  <div class="chapter">{{ item.txt }}</div>
                </div>
              </div>
            </div>
            <div v-if="scribeData.noteList.length == 0 && !scribeData.loading">
            <div v-if=" scribeData.noteList.length == 0">
              <el-empty :image-size="60" description="暂无数据" />
            </div>
          </div>
@@ -708,7 +708,7 @@
    v-show="lineDelete.showLineDelete"
    :style="{ top: `${lineDelete.top}px`, left: `${lineDelete.left}px` }"
  >
    <el-button @click="lineDeleteBtn">删除</el-button>
    <el-button @click="delUserKey">删除</el-button>
  </div>
  <el-dialog title="资源" align-center v-model="resourVisble" width="845" class="resourDialog">
@@ -1193,7 +1193,7 @@
    case '0':
      break
    case '1':
      getNotesList()
    // getSignData()
      break
    case '2':
      break
@@ -1283,11 +1283,13 @@
  } else {
    menuState.notesColor = 'all'
  }
  getNotesList()
  // getNotesList()
}
const searchBook = async () => {
  if (activeMenu.value == 1) {
    getNotesList()
    // getNotesList()
    getSignData()
  }
  if (activeMenu.value == 2) {
    let dataList = JSON.parse(JSON.stringify(resourceDataList.value))
@@ -1966,6 +1968,7 @@
    }
  }).then((res) => {
    showToolBox.value = false
    addNoteVisble.value = false
    colorActive.value = ''
    noteColorActive.value = ''
    toolActive.value = ''
@@ -1973,32 +1976,7 @@
  })
}
const delUserKey = (type, ids) => {
  switch (type) {
    case 'Highlight':
      dom = 'highLightData-' + bookId.value
      data = dialogToolData.lineHeight
      break
    case 'Dashing':
      dom = 'underline-' + bookId.value
      data = dialogToolData.scribeList
      break
  }
  data = data.filter((item) => ids.indexOf(item.id) == -1)
  request({
    url: '/identity/api/ApiAppUserSetKey',
    method: 'post',
    data: {
      setKeyRequests: [
        {
          domain: dom,
          key: '',
          value: JSON.stringify(data)
        }
      ]
    }
  }).then((res) => {})
}
const getSignData = () => {
  request({
@@ -2060,7 +2038,9 @@
        const item = res[i]
        const data = JSON.parse(item.value)
        // 储值
        scribeData.noteList = data
        dialogToolData.notesList[item.key] = data
        console.log(dialogToolData.notesList,"notesList")
        // 渲染
        for (let j = 0; j < data.length; j++) {
          const citem = data[j]
@@ -2078,17 +2058,29 @@
  top: 0,
  left: 0,
  deleteType: '',
  deleteTxt: ''
  id: ''
})
// 划线、笔记、高亮点击回调
window.signClick = (type, id)=>{
  console.log("signClick点击事件回调的实例", type, id);
  // if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[id]})
  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{
    lineDelete.showLineDelete = true
    lineDelete.deleteType = type
    lineDelete.id = id
  }
}
window.notesVisbleShow = function (txt) {
  addNoteVisble.value = true
  let notes = dialogToolData.notesList.find((item) => item.selectText == txt)
  let notes = dialogToolData.notesList.find((item) => item.id == id)
  formData.desc = notes.note
  colorActive.value = notes.color
  selectNode.value = notes.selectNode
@@ -2096,24 +2088,43 @@
  selectPage.value = notes.selectPage
  dialogToolData.chapter = notes.chapter
}
window.deleteScribeShow = function (txt) {
  let lines = scribeData.scribeDataList.find((item) => item.selectText == txt)
  lineDelete.deleteType = 'underline'
  lineDelete.deleteTxt = txt
  lineDelete.top = event.screenY
  lineDelete.left = event.screenX
  lineDelete.showLineDelete = true
const delUserKey = () => {
  let type = lineDelete.deleteType
  let ids = lineDelete.id
  let dom = ''
  let data = null
  switch (type) {
    case 'Highlight':
      dom = 'highLightData-' + bookId.value
      data = dialogToolData.lineHeight
      break
    case 'Dashing':
      dom = 'underline-' + bookId.value
      data = dialogToolData.scribeList
      break
  }
  data = data.filter((item) => ids.indexOf(item.id) == -1)
  console.log(data[0])
  let list = data[0].filter((item) => item.id != ids)
  console.log(list)
  request({
    url: '/identity/api/ApiAppUserSetKey',
    method: 'post',
    data: {
      setKeyRequests: [
        {
          domain: dom,
          key: dialogToolData.chapter,
          value: JSON.stringify(list)
        }
      ]
    }
  }).then((res) => {
    if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[ids]})
    getSignData()
  })
}
window.deletelineHeightShow = function (txt) {
  let lines = scribeData.lineHeightList.find((item) => item.selectText == txt)
  lineDelete.deleteType = 'highLight'
  lineDelete.deleteTxt = txt
  lineDelete.top = event.screenY
  lineDelete.left = event.screenX
  lineDelete.showLineDelete = true
}
const lineDeleteBtn = () => {
  if (lineDelete.deleteType == 'underline') {
@@ -2193,10 +2204,10 @@
}
//删除
const deleteBtn = (item, type) => {
const deleteBtn = (item) => {
  if (type == 'note') {
    // 移除
    let list = scribeData.noteList.filter((itemData) => itemData.selectText !== item.selectText)
    let list = dialogToolData.noteList.filter((itemData) => itemData.id !== item.id)
    request({
      url: '/identity/api/ApiAppUserSetKey',
      method: 'post',
@@ -2214,15 +2225,7 @@
        message: '删除笔记成功!',
        type: 'success'
      })
      console.log(document.querySelectorAll('.notesline'))
      let list = document.querySelectorAll('.notesline')
      list.forEach((itemNode) => {
        if (itemNode.innerText == item.selectText) {
          console.log(itemNode.nextSibling)
          itemNode.removeAttribute('style')
          itemNode.nextSibling?.remove()
        }
      })
      if (window.qiankunState && window.qiankunState.delSign) window.qiankunState.delSign({ids:[id]})
      getNotesList()
    })
  }