import { worksDataBytool } from "../../../assets/js/toolClass.js"; const app = getApp(); Page({ data: { userInfo: null, active: 0, description: "", //申请规则 teacherInfo: { workInfo: null, schoolName: "", courseName: "", }, contactInfo: { fullName: "", phone: "", detailedAddress: "" }, paperBookList: [], //样书单纸质书 electronicBookList: [], //样书单电子书 ebookCount: 0, paperBookCount: 0, bookList: [], }, /** * 生命周期函数--监听页面加载 */ onLoad() { }, /** * 生命周期函数--监听页面显示 */ onShow() { if (wx.getStorageSync(app.config.userInfoKey)) { this.setData({ userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey)) }) if (this.data.userInfo.role == 'Teacher') { this.setData({ teacherInfo: { schoolName: JSON.parse(this.data.userInfo.data).schoolName, courseName: JSON.parse(this.data.userInfo.data).courseName, }, contactInfo: { fullName: JSON.parse(this.data.userInfo.data).fullName, phone: JSON.parse(this.data.userInfo.data).phone, detailedAddress: JSON.parse(this.data.userInfo.data).detailedAddress } }) } if (wx.getStorageSync("paperBookList")) { this.setData({ paperBookList: JSON.parse(wx.getStorageSync("paperBookList")), bookList: JSON.parse(wx.getStorageSync("paperBookList")) }) } if (wx.getStorageSync("electronicBookList")) { this.setData({ electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")) }) } this.getSelectBookCount(); this.getSelectPaperBookCount(); this.getPaperType(); } else { wx.navigateTo({ url: "/pages/testLogin/index", }); } }, tabClick(item) { let that = this; if (item.detail.value == '1') { that.setData({ active: item.detail.value, bookList: this.data.electronicBookList }) this.getElectronType(); } else { that.setData({ active: item.detail.value, bookList: this.data.paperBookList }) this.getPaperType(); } }, getElectronType() { app.MG.resource.getCmsTypeByRefCode({ refCodes: ['jsek_electronicSampleBook'] }).then((res) => { this.setData({ description: res[0].description, teacherInfo: { workInfo: res[0].cmsTypeLinks[0].children }, }) }) }, getPaperType() { app.MG.resource.getCmsTypeByRefCode({ refCodes: ['jsek_paperVersionSampleBook'] }). then((res) => { if (res && res.length > 0) { this.setData({ description: res[0].description, teacherInfo: { workInfo: res[0].cmsTypeLinks[0].children }, }) } }) }, //获取当前已申请次数(电子) getSelectBookCount() { let that = this; app.MG.app.getTicketResult({ ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', roleId: that.data.userInfo.roleId }) .then((res) => { let num = res.totalCount - res.usedCount; that.setData({ ebookCount: num }) }) }, //获取当前已申请次数(纸质) getSelectPaperBookCount() { let that = this; app.MG.app.getTicketResult({ ticketRefCodeOrGuid: 'paperSampleBookapplyNum', roleId: that.data.userInfo.roleId }) .then((res) => { let count = res.totalCount - res.usedCount; that.setData({ paperBookCount: count, }) }) }, submit() { let that = this; if (that.data.bookList.length > 0) { if (that.data.active == '1' && that.data.ebookCount == 0) { wx.showToast({ title: "您的电子样书申请次数已用尽,若要继续,请联系管理员!", icon: 'none', duration: 1000, }) return } if (that.data.active == '0' && that.data.paperBookCount == 0) { wx.showToast({ title: "您的纸质样书申请次数已用尽,若要继续,请联系管理员!", icon: 'none', duration: 1000, }) return } let data = {} let applyInfo = {} if (that.data.active == '1') { data = { topicIdOrRefCode: 'applyBook', name: that.data.userInfo.name || '', content: JSON.stringify(that.data.bookList), state: 'WaitAudit', type: 'applyForEbook', cmsTypeRefCode: 'jsek_electronicSampleBook', newDataListRequest: worksDataBytool(that.data.teacherInfo.workInfo, that.data.teacherInfo) } applyInfo = { ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', roleId: userStore.userInfo.roleId, refType: 'applyBook' } } else { if (!(that.data.contactInfo.fullName && that.data.contactInfo.phone && that.data.contactInfo.detailedAddress)) { wx.showToast({ title: "请将收货人信息填写完整!", icon: 'none', duration: 1000, }) return } const mailAddress = JSON.stringify(that.data.contactInfo) that.setData({ teacherInfo: { detailedAddress: mailAddress, } }) data = { topicIdOrRefCode: 'applyEntityBook', name: that.data.userInfo.name || '', content: JSON.stringify(that.data.bookList), state: 'WaitAudit', type: 'applyForPbook', cmsTypeRefCode: 'jsek_paperVersionSampleBook', newDataListRequest: worksDataBytool(that.data.teacherInfo.workInfo, that.data.teacherInfo) } applyInfo = { ticketRefCodeOrGuid: 'paperSampleBookapplyNum', roleId: that.data.userInfo.roleId, refType: 'applyEntityBook' } } app.MG.ugc.newTopicMessage(data).then((res) => { if (res) { app.MG.app.useTicket(applyInfo).then(() => { if (that.data.active == '1') { that.setData({ electronicBookList: [], bookList: [], }) wx.setStorageSync("electronicBookList", that.data.electronicBookList); } else { that.setData({ paperBookList: [], bookList: [], }) wx.setStorageSync("paperBookList", that.data.paperBookList); } wx.showModal({ title: '提示!', //提示的标题 content: '您的样书申请已提交,管理员审核中!申请状态在【个人中心—样书申请】中查询。', //提示的内容 success: function (res) { if (res.confirm) { wx.navigateTo({ url: "/pages/personalCenter/sampleBooks/index", }); } else if (res.cancel) { } } }) }) } }) } else { wx.showToast({ title: "您还未选择图书加入申请单!", icon: 'none', duration: 1000, }) } }, onDelete(e) { let that = this; const item = e.currentTarget.dataset.book; wx.showModal({ title: '提示!', //提示的标题 content: '确定要删除该书吗?', //提示的内容 success: function (res) { if (res.confirm) { if (that.data.active == '1') { that.data.electronicBookList.forEach((obj, index) => { if (obj.id == item.id) { that.data.electronicBookList.splice(index, 1); } }) that.setData({ bookList: that.data.electronicBookList }) wx.setStorageSync("electronicBookList", that.data.electronicBookList); } else { that.data.paperBookList.forEach((obj, index) => { if (obj.id == item.id) { that.data.paperBookList.splice(index, 1); } }) that.setData({ bookList: this.data.paperBookList }) wx.setStorageSync("paperBookList", that.data.paperBookList); } } else if (res.cancel) { } } }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })