| | |
| | | import { worksDataBytool } from "../../../../assets/js/toolClass.js"; |
| | | import { |
| | | worksDataBytool |
| | | } from "../../../../assets/js/toolClass.js"; |
| | | const app = getApp(); |
| | | Page({ |
| | | data: { |
| | |
| | | workInfo: null, |
| | | schoolName: "", |
| | | courseName: "", |
| | | detailedAddress: "" |
| | | }, |
| | | contactInfo: { |
| | | fullName: "", |
| | | phone: "", |
| | | detailedAddress: "" |
| | | }, |
| | | phoneError: false, |
| | | paperBookList: [], //样书单纸质书 |
| | | electronicBookList: [], //样书单电子书 |
| | | ebookCount: 0, |
| | | paperBookCount: 0, |
| | | bookList: [], |
| | | isIos: wx.getSystemInfoSync().platform === 'ios', |
| | | keyboardHeight: 0 |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad() { }, |
| | | onLoad() {}, |
| | | /** |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | * 生命周期函数--监听页面显示 |
| | | */ |
| | | onShow() { |
| | | let that = this; |
| | | that.setData({ |
| | | bookList: [] |
| | | }) |
| | | if (wx.getStorageSync(app.config.userInfoKey)) { |
| | | this.setData({ |
| | | that.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 (that.data.userInfo.role == 'Teacher') { |
| | | that.setData({ |
| | | 'teacherInfo.schoolName': JSON.parse(that.data.userInfo.data).schoolName, |
| | | 'teacherInfo.courseName': JSON.parse(that.data.userInfo.data).courseName, |
| | | 'contactInfo.fullName': JSON.parse(that.data.userInfo.data).fullName, |
| | | 'contactInfo.phone': JSON.parse(that.data.userInfo.data).phone, |
| | | 'contactInfo.detailedAddress': JSON.parse(that.data.userInfo.data).detailedAddress, |
| | | }) |
| | | } else { |
| | | wx.showModal({ |
| | | title: '尊敬的用户,您好!', //提示的标题 |
| | | content: '请先进行教师认证?', //提示的内容 |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | wx.navigateTo({ |
| | | url: "/packageDomain/pages/teacherCertification/index", |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | if (wx.getStorageSync("paperBookList")) { |
| | | this.setData({ |
| | | that.setData({ |
| | | paperBookList: JSON.parse(wx.getStorageSync("paperBookList")), |
| | | bookList: JSON.parse(wx.getStorageSync("paperBookList")) |
| | | }) |
| | | } |
| | | if (wx.getStorageSync("electronicBookList")) { |
| | | this.setData({ |
| | | that.setData({ |
| | | electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList")) |
| | | }) |
| | | } |
| | | this.getSelectBookCount(); |
| | | this.getSelectPaperBookCount(); |
| | | this.getPaperType(); |
| | | } else { |
| | | wx.navigateTo({ |
| | | url: "/pages/testLogin/index", |
| | | }); |
| | | that.getSelectBookCount(); |
| | | that.getSelectPaperBookCount(); |
| | | that.getPaperType(); |
| | | } |
| | | |
| | | }, |
| | | |
| | | tabClick(item) { |
| | | let that = this; |
| | | that.setData({ |
| | | bookList: [] |
| | | }) |
| | | if (item.detail.value == '1') { |
| | | that.setData({ |
| | | active: item.detail.value, |
| | |
| | | }, |
| | | |
| | | getElectronType() { |
| | | app.MG.resource.getCmsTypeByRefCode({ refCodes: ['jsek_electronicSampleBook'] }).then((res) => { |
| | | app.MG.resource.getCmsTypeByRefCode({ |
| | | refCodes: ['jsek_electronicSampleBook'] |
| | | }).then((res) => { |
| | | this.setData({ |
| | | description: res[0].description, |
| | | teacherInfo: { |
| | | workInfo: res[0].cmsTypeLinks[0].children |
| | | }, |
| | | 'teacherInfo.workInfo': res[0].cmsTypeLinks[0].children, |
| | | }) |
| | | }) |
| | | }, |
| | |
| | | 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 |
| | | }, |
| | | }) |
| | | } |
| | | }) |
| | | 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 |
| | | }) |
| | | ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', |
| | | roleId: that.data.userInfo.roleId |
| | | }) |
| | | .then((res) => { |
| | | let num = res.totalCount - res.usedCount; |
| | | that.setData({ |
| | |
| | | getSelectPaperBookCount() { |
| | | let that = this; |
| | | app.MG.app.getTicketResult({ |
| | | ticketRefCodeOrGuid: 'paperSampleBookapplyNum', |
| | | roleId: that.data.userInfo.roleId |
| | | }) |
| | | ticketRefCodeOrGuid: 'paperSampleBookapplyNum', |
| | | roleId: that.data.userInfo.roleId |
| | | }) |
| | | .then((res) => { |
| | | let count = res.totalCount - res.usedCount; |
| | | that.setData({ |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | //姓名 |
| | | onFullNameInput(e) { |
| | | this.setData({ |
| | | "contactInfo.fullName": e.detail.value, |
| | | }); |
| | | }, |
| | | //输入手机号 |
| | | onPhoneInput(e) { |
| | | const { |
| | | phoneError |
| | | } = this.data; |
| | | if (e.detail.value) { |
| | | const isPhoneNumber = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(e.detail.value); |
| | | if (phoneError === isPhoneNumber) { |
| | | this.setData({ |
| | | phoneError: !isPhoneNumber, |
| | | "contactInfo.phone": e.detail.value, |
| | | }); |
| | | } |
| | | } else { |
| | | this.setData({ |
| | | phoneError: false, |
| | | }); |
| | | } |
| | | }, |
| | | onAddressInput() { |
| | | this.setData({ |
| | | "contactInfo.detailedAddress": e.detail.value, |
| | | }); |
| | | }, |
| | | |
| | | |
| | | submit() { |
| | | let that = this; |
| | |
| | | } |
| | | applyInfo = { |
| | | ticketRefCodeOrGuid: 'electronicSampleBookapplyNum', |
| | | roleId: userStore.userInfo.roleId, |
| | | roleId: that.data.userInfo.roleId, |
| | | refType: 'applyBook' |
| | | } |
| | | } else { |
| | |
| | | } |
| | | const mailAddress = JSON.stringify(that.data.contactInfo) |
| | | that.setData({ |
| | | teacherInfo: { |
| | | detailedAddress: mailAddress, |
| | | } |
| | | 'teacherInfo.detailedAddress': mailAddress |
| | | }) |
| | | |
| | | data = { |
| | | topicIdOrRefCode: 'applyEntityBook', |
| | | name: that.data.userInfo.name || '', |
| | |
| | | electronicBookList: [], |
| | | bookList: [], |
| | | }) |
| | | wx.setStorageSync("electronicBookList", that.data.electronicBookList); |
| | | wx.removeStorageSync("electronicBookList") |
| | | } else { |
| | | that.setData({ |
| | | paperBookList: [], |
| | | bookList: [], |
| | | }) |
| | | wx.setStorageSync("paperBookList", that.data.paperBookList); |
| | | wx.removeStorageSync("paperBookList") |
| | | } |
| | | |
| | | wx.showModal({ |
| | | title: '提示!', //提示的标题 |
| | | content: '您的样书申请已提交,管理员审核中!申请状态在【个人中心—样书申请】中查询。', //提示的内容 |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | wx.navigateTo({ |
| | | url: "/packagePersonal/pages/sampleBooks/index", |
| | | url: "/packagePersonal/pages/sampleBooks/index?stateTab=1&tabActive=" + that.data.active, |
| | | }); |
| | | } else if (res.cancel) { |
| | | } |
| | | } else if (res.cancel) {} |
| | | } |
| | | }) |
| | | }) |
| | |
| | | success: function (res) { |
| | | if (res.confirm) { |
| | | if (that.data.active == '1') { |
| | | that.data.electronicBookList.forEach((obj, index) => { |
| | | let eList = that.data.electronicBookList; |
| | | eList.forEach((obj, index) => { |
| | | if (obj.id == item.id) { |
| | | that.data.electronicBookList.splice(index, 1); |
| | | eList.splice(index, 1); |
| | | } |
| | | }) |
| | | that.setData({ |
| | | bookList: that.data.electronicBookList |
| | | bookList: eList |
| | | }) |
| | | wx.setStorageSync("electronicBookList", that.data.electronicBookList); |
| | | wx.setStorageSync("electronicBookList", eList); |
| | | } else { |
| | | that.data.paperBookList.forEach((obj, index) => { |
| | | let pList = that.data.paperBookList; |
| | | pList.forEach((obj, index) => { |
| | | if (obj.id == item.id) { |
| | | that.data.paperBookList.splice(index, 1); |
| | | pList.splice(index, 1); |
| | | } |
| | | }) |
| | | that.setData({ |
| | | bookList: this.data.paperBookList |
| | | bookList: pList |
| | | }) |
| | | wx.setStorageSync("paperBookList", that.data.paperBookList); |
| | | wx.setStorageSync("paperBookList", pList); |
| | | } |
| | | } else if (res.cancel) { |
| | | } |
| | | } else if (res.cancel) {} |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // 监听页面软键盘弹起手动推动页面 |
| | | bindkeyboardheightchange(e) { |
| | | // 只对ios 处理 |
| | | if (!this.data.isIos === 'ios') { |
| | | return |
| | | } |
| | | // 键盘高度 |
| | | const height = e.detail.height; |
| | | const className = e.target.dataset.class; |
| | | console.log(height, className) |
| | | if (height === 0) { |
| | | this.scrollToInput(0); |
| | | return; |
| | | } |
| | | try { |
| | | this.createSelectorQuery() |
| | | .select(`.${className}`) |
| | | .boundingClientRect((res) => { |
| | | // 可使用窗口高度 |
| | | const windowHeight = wx.getSystemInfoSync().windowHeight; |
| | | // 除去键盘的剩余高度 |
| | | let restHeight = windowHeight - height; |
| | | // 元素左下角坐标 |
| | | let bottom = res.bottom; |
| | | // 只有当元素被软键盘覆盖的时候才上推页面 |
| | | if (bottom <= restHeight) return; |
| | | // 现阶段需要滚动的大小 |
| | | let scrollTop = bottom - restHeight; |
| | | console.log(scrollTop, 1) |
| | | this.scrollToInput(height, scrollTop); |
| | | }) |
| | | .exec(); |
| | | } catch (error) {} |
| | | }, |
| | | |
| | | // 获取页面滚动条位置 |
| | | getScrollOffset() { |
| | | return new Promise((resolve) => { |
| | | try { |
| | | wx.createSelectorQuery() |
| | | .selectViewport() |
| | | .scrollOffset((res) => { |
| | | resolve(res.scrollTop); |
| | | }) |
| | | .exec(); |
| | | } catch (error) { |
| | | resolve(0); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 监听页面软键盘弹起手动推动页面 |
| | | scrollToInput(keyboardHeight, scrollTop) { |
| | | this.setData({ |
| | | keyboardHeight, |
| | | }); |
| | | if (scrollTop) { |
| | | try { |
| | | this.getScrollOffset().then((lastScrollTop) => { |
| | | wx.pageScrollTo({ |
| | | // 如果已经存在滚动,在此基础上继续滚 |
| | | scrollTop: lastScrollTop ? lastScrollTop + scrollTop : scrollTop, |
| | | duration: 300, |
| | | }); |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | }, |
| | | changeParam(e) { |
| | | this.scrollToInput(0); |
| | | }, |
| | | /** |
| | | * 页面相关事件处理函数--监听用户下拉动作 |
| | | */ |