| | |
| | | // pages/bookServices/detail/components/note/note.js |
| | | const app = getApp() |
| | | const app = getApp(); |
| | | import { |
| | | loginInfo |
| | | } from "../../../../../../assets/js/login"; |
| | | Component({ |
| | | /** |
| | | * 组件的属性列表 |
| | |
| | | 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: { |
| | |
| | | noteList: [], |
| | | activeValues: 0, |
| | | loading: false, |
| | | noList: false, |
| | | }, |
| | | /** |
| | | * 组件的方法列表 |
| | | */ |
| | | 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); |
| | | loginInfo(app, (data) => {}) |
| | | this.setData({ |
| | | submitTitle: this.properties.bookInfo.name, |
| | | showNoteDialog: true |
| | | }) |
| | | 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() { |
| | | // this.setData({ |
| | | // loading: true |
| | | // }) |
| | | console.log(this.properties.bookInfo.id, 'this.properties.bookInfo.id'); |
| | | let topicId |
| | | if (!this.data.isMore) { |
| | | this.setData({ |
| | | loading: true, |
| | | }); |
| | | } |
| | | this.setData({ |
| | | 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({ |
| | | 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 |
| | | }) |
| | | console.log('笔记列表', res.datas); |
| | | }) |
| | | 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", |
| | | }); |
| | | }, |
| | | }, |
| | | }); |