闫增涛
2025-03-31 04c7b0163caeae4ab1c5da62e301fa993101cfad
packageBookService/pages/bookServices/detail/components/note/note.js
@@ -1,5 +1,8 @@
// pages/bookServices/detail/components/note/note.js
const app = getApp()
const app = getApp();
import {
  loginInfo
} from "../../../../../../assets/js/login";
Component({
  /**
   * 组件的属性列表
@@ -7,21 +10,21 @@
  properties: {
    bookInfo: {
      type: Object,
      value: {}
    }
      value: {},
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    inputStyle: 'border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx',
    placeholderstyle: 'font-size:28rpx',
    inputStyle: "border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx",
    placeholderstyle: "font-size:28rpx",
    flag: false, // 输入框是否显示
    submitType: "new", //  新建 or 编辑
    showNoteDialog: false,
    textvalue: '',
    noteId: '',
    textvalue: "",
    noteId: "",
    showInput: false,
    submitTitle: "",
    pageCount: {
@@ -39,289 +42,308 @@
   */
  methods: {
    onReachBottom() {
      const flag = this.data.noteList.length < this.data.pageCount.total
      const flag = this.data.noteList.length < this.data.pageCount.total;
      if (flag) {
        this.setData({
          isMore: true,
          "pageCount.page": this.data.pageCount.page + 1
        })
        this.getNoteList()
          "pageCount.page": this.data.pageCount.page + 1,
        });
        this.getNoteList();
      } else {
        this.setData({
          isMore: true
        })
          isMore: true,
        });
        setTimeout(() => {
          this.setData({
            isMore: false
          })
        }, 100)
            isMore: false,
          });
        }, 100);
      }
    },
    handleSubmitTitle() {
      this.setData({
        submitTitle: this.properties.bookInfo.name
      })
        submitTitle: this.properties.bookInfo.name,
      });
    },
    openDialog() {
      console.log(this.properties.bookInfo.name);
      this.setData({
        submitTitle: this.properties.bookInfo.name,
        showNoteDialog: true
      })
      loginInfo(app, (data) => {})
      if (data)
        this.setData({
          submitTitle: this.properties.bookInfo.name,
          showNoteDialog: true,
        });
    },
    closeDialog() {
      this.setData({
        flag: false,
        showNoteDialog: false,
        submitTitle: '',
        submitTitle: "",
        textvalue: "",
      })
      });
    },
    textareaChange(e) {
      this.setData({
        textvalue: e.detail.value
      })
        textvalue: e.detail.value,
      });
    },
    textareaBlur() {
      console.log('失去焦点');
      console.log("失去焦点");
    },
    // 标题输入框值
    inputChange(e) {
      this.setData({
        submitTitle: e.detail.value
      })
        submitTitle: e.detail.value,
      });
    },
    // 弹窗确定按钮
    confirmSuggest() {
      if (!this.data.submitTitle) {
      const submitTitle = this.data.submitTitle.trim();
      const textvalue = this.data.textvalue.trim();
      if (!submitTitle.length) {
        return wx.showToast({
          icon: 'error',
          title: '请填写笔记标题',
        })
      } else if (!this.data.textvalue) {
          icon: "error",
          title: "请填写笔记标题",
        });
      } else if (!textvalue.length) {
        return wx.showToast({
          icon: 'error',
          title: '请填写笔记内容',
        })
          icon: "error",
          title: "请填写笔记内容",
        });
      }
      if (this.data.submitType == 'new') {
        this.makeNote()
      } else if (this.data.submitType == 'edit') {
        this.updateNote()
      if (this.data.submitType == "new") {
        this.makeNote();
      } else if (this.data.submitType == "edit") {
        this.updateNote();
      }
      this.setData({
        showNoteDialog: false
      })
        showNoteDialog: false,
      });
    },
    handleChange(e) {
      this.setData({
        activeValues: e.detail.value
      })
        activeValues: e.detail.value,
      });
    },
    // 格式化笔记时间
    convertTimestamp(timestamp) {
      const isoDate = new Date(timestamp)
      const year = isoDate.getFullYear()
      const month = String(isoDate.getMonth() + 1).padStart(2, '0')
      const day = String(isoDate.getDate()).padStart(2, '0')
      const hours = String(isoDate.getHours()).padStart(2, '0')
      const minutes = String(isoDate.getMinutes()).padStart(2, '0')
      const seconds = String(isoDate.getSeconds()).padStart(2, '0')
      const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
      return formattedDate
      const isoDate = new Date(timestamp);
      const year = isoDate.getFullYear();
      const month = String(isoDate.getMonth() + 1).padStart(2, "0");
      const day = String(isoDate.getDate()).padStart(2, "0");
      const hours = String(isoDate.getHours()).padStart(2, "0");
      const minutes = String(isoDate.getMinutes()).padStart(2, "0");
      const seconds = String(isoDate.getSeconds()).padStart(2, "0");
      const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
      return formattedDate;
    },
    changeLoading() {
      this.setData({
        loading: true
      })
        loading: true,
      });
    },
    changeNoList() {
      this.setData({
        noList: true,
      });
    },
    // 获取笔记列表
    async getNoteList() {
      if (!this.data.isMore) {
        this.setData({
          loading: true,
        });
      }
      this.setData({
        loading: true,
        noList: false
      })
      console.log(this.properties.bookInfo.id, 'this.properties.bookInfo.id');
      let topicId
        noList: false,
      });
      let topicId;
      await app.MG.ugc
        .getProductUserSubmitTopic({
          productId: this.properties.bookInfo.id,
          appRefCode: app.config.appRefCode
          appRefCode: app.config.appRefCode,
        })
        .then((res) => {
          if (res) {
            topicId = res.id
            topicId = res.id;
          } else {
            return wx.showToast({
              icon: "error",
              title: '查询失败',
            })
              title: "查询失败",
            });
          }
        })
        });
      // loadings.value.bookResource = true
      let query = {
        start: 0,
        size: this.data.pageCount.page * 5,
        messageType: 'note',
        messageType: "note",
        sort: {
          type: 'Desc',
          field: 'CreateDate'
          type: "Desc",
          field: "CreateDate",
        },
        appRefCode: app.config.appRefCode,
        topicIdOrRefCode: topicId + ''
      }
        topicIdOrRefCode: topicId + "",
      };
      await app.MG.ugc.getTopicMessageList(query).then((res) => {
        if (!res.datas.length) {
          return this.setData({
            noList: true,
            loading: false,
            noList: true,
            noteList: res.datas,
          })
          });
        }
        // notePage.value.total = res.totalSize
        res.datas.forEach((item) => {
          item.compliceHover = false
          item.deleteHover = false
          item.createDate = this.convertTimestamp(item.createDate)
        })
          item.compliceHover = false;
          item.deleteHover = false;
          item.createDate = this.convertTimestamp(item.createDate);
        });
        this.setData({
          "pageCount.total": res.totalSize,
          noteList: res.datas,
          loading: false
        })
      })
          loading: false,
          noList: false,
        });
      });
    },
    // 新建笔记接口
    async makeNote() {
      const token = wx.getStorageSync('jsek-token')
      const token = wx.getStorageSync("jsek-token");
      if (!token) {
        return wx.getUserProfile({
          desc: '用户登录',
          desc: "用户登录",
          success: (res) => {
            console.log(res);
          }
        })
          },
        });
      }
      let topicId
      let topicId;
      await app.MG.ugc
        .getProductUserSubmitTopic({
          productId: this.properties.bookInfo.id,
          appRefCode: app.config.appRefCode
          appRefCode: app.config.appRefCode,
        })
        .then((res) => {
          if (res) {
            topicId = res.id
            topicId = res.id;
          } else {
            return wx.showToast({
              icon: 'error',
              title: '新建失败',
            })
              icon: "error",
              title: "新建失败",
            });
          }
        })
        });
      let query = {
        topicIdOrRefCode: topicId + '',
        topicIdOrRefCode: topicId + "",
        name: this.data.submitTitle,
        content: this.data.textvalue,
        type: 'note',
        cmsTypeRefCode: '',
        newDataListRequest: []
      }
        type: "note",
        cmsTypeRefCode: "",
        newDataListRequest: [],
      };
      await app.MG.ugc.newTopicMessage(query).then((res) => {
        wx.showToast({
          title: '新建成功',
        })
        this.closeDialog()
        this.getNoteList()
      })
          title: "新建成功",
        });
        this.closeDialog();
        this.getNoteList();
      });
    },
    // 删除笔记
    deleteNote(e) {
      const id = e.currentTarget.dataset.id
      const messageIds = []
      messageIds.push(id)
      const id = e.currentTarget.dataset.id;
      const messageIds = [];
      messageIds.push(id);
      wx.showModal({
        title: '提示',
        content: '确认删除该笔记吗?',//editable如果为true,这就是输入框的内容
        editable: false,//是否显示输入框
        placeholderText: '请输入内容吧',//输入框的默认内容
        title: "提示",
        content: "确认删除该笔记吗?", //editable如果为true,这就是输入框的内容
        confirmColor: "#ff6c00",
        cancelColor: "#949494",
        editable: false, //是否显示输入框
        placeholderText: "请输入内容吧", //输入框的默认内容
        success: (res) => {
          if (res.confirm) {
            app.MG.ugc
              .delTopicMessage({ messageIds })
              .delTopicMessage({
                messageIds,
              })
              .then((res) => {
                wx.showToast({
                  title: '删除成功',
                })
                  title: "删除成功",
                });
                // if ((notePage.value.total % 3) - 1 == 0) {
                //   notePage.value.page -= 1
                // }
                this.getNoteList()
              })
                this.getNoteList();
              });
          } else if (res.cancel) {
            console.log('用户点击取消')
            console.log("用户点击取消");
          }
        }
      })
        },
      });
    },
    // 标题改变
    changeTitle(e) {
      this.setData({
        flag: e.currentTarget.dataset.value
      })
        flag: e.currentTarget.dataset.value,
      });
    },
    // 编辑按钮
    editNote(e) {
      const note = e.currentTarget.dataset.note
      const note = e.currentTarget.dataset.note;
      this.setData({
        submitType: "edit",
        textvalue: note.content,
        submitTitle: note.name,
        noteId: note.id
      })
      this.openDialog()
        noteId: note.id,
      });
      console.log(note.name, this.data.submitTitle);
      this.setData({
        showNoteDialog: true,
      });
    },
    // 编辑笔记接口
    updateNote() {
      const token = wx.getStorageSync('jsek-token')
      const token = wx.getStorageSync("jsek-token");
      if (!token) {
        return wx.getUserProfile({
          desc: '用户登录',
          desc: "用户登录",
          success: (res) => {
            console.log(res);
          }
        })
          },
        });
      }
      if (!this.data.submitTitle) {
        return wx.showToast({
          icon: 'error',
          title: '请填写笔记标题',
        })
          icon: "error",
          title: "请填写笔记标题",
        });
      } else if (!this.data.textvalue) {
        return wx.showToast({
          icon: 'error',
          title: '请填写笔记内容',
        })
          icon: "error",
          title: "请填写笔记内容",
        });
      }
      let query = {
        id: this.data.noteId,
        name: this.data.submitTitle,
        description: 'string',
        icon: 'string',
        type: 'note',
        description: "string",
        icon: "string",
        type: "note",
        content: this.data.textvalue,
        newDataRequests: [],
        updateDataRequests: []
      }
        updateDataRequests: [],
      };
      app.MG.ugc.updateTopicMessage(query).then((res) => {
        wx.showToast({
          title: '编辑成功',
        })
        this.closeDialog()
        this.getNoteList()
      })
          title: "编辑成功",
        });
        this.closeDialog();
        this.getNoteList();
      });
      this.setData({
        submitType: "new"
      })
    }
  }
})
        submitType: "new",
      });
    },
  },
});