import common from '../../utils/util'; import main from '../../utils/main'; import fanObj from '../template/FanObject'; import constant from '../../utils/constant'; const app = getApp(); var selectCommon=0; var selectUrgency=0; var historyLimitMax=5; Page({ data: { ImagePath: app.globalData.uploadImageUrl, CardType:0, CardTypeName:"日常", CardType0On: 0, CardType1On: 0, CurrentCardTypeSetting:-1, CardNumberNew: [], CardNumberOld: [], BasicCardLimitArr: [], SortTypeArr:[0,0,1], }, onLoad: function (options) { var that = this; that.setData({ Containnerheight: main.getWindowHeight(), }); that.init(); }, init: function () { var that = this; var studyPlan = app.globalData.TaskToday; var newLength=0; if (studyPlan.ListNew && studyPlan.ListNew.length>0) newLength=studyPlan.ListNew.length; var reviewLength=0; if (studyPlan.ListReview && studyPlan.ListReview.length>0) reviewLength=studyPlan.ListReview.length; var historyLength=0; if (studyPlan.ListHistory && studyPlan.ListHistory.length>0) historyLength=studyPlan.ListHistory.length; var backColor = "#f0f0f0"; var rate = 0; if (studyPlan.CommonNewLength > 0 || studyPlan.CommonOldLength > 0) { rate = studyPlan.CommonNewLength / (studyPlan.CommonNewLength + studyPlan.CommonOldLength); backColor = "#EF7F57"; } var number1=studyPlan.CommonNewLength + studyPlan.CommonOldLength; if (!number1) number1=0; fanObj.init(that, rate, 96, 3.0, "#F8C6B4", backColor, number1); var backColor2 = "#f0f0f0"; var rate2 = 0; if (studyPlan.UrgentNewLength > 0 || studyPlan.UrgentOldLength > 0) { rate2 = studyPlan.UrgentNewLength / (studyPlan.UrgentNewLength + studyPlan.UrgentOldLength); backColor2 = "#EF7F57"; } var number2=studyPlan.UrgentNewLength + studyPlan.UrgentOldLength; if (!number2) number2=0; fanObj.init2(that, rate2, 96, 3.0, "#F8C6B4", backColor2, number2); var taskNumber = newLength + reviewLength + historyLength; that.setData({ StudyPlan: studyPlan, TaskNumber: taskNumber, LimitTimeCardNum:studyPlan.NewLimitTimeToday+studyPlan.HistoryLimitTimeToday, }); common.getStorageValue(that, "CardType", 0, function () { if (that.data.CardType==0 || that.data.CardType==2) { that.setData({ CardType0On: 1, }); } if (that.data.CardType==1 || that.data.CardType==2) { that.setData({ CardType1On: 1, }); } selectCommon= that.data.CardType0On; selectUrgency= that.data.CardType1On; }); }, showSetting:function(e){ var that = this; wx.showLoading(); var cardtype=e.currentTarget.dataset.cardtype; var cardtypename=e.currentTarget.dataset.cardtypename; that.setData({ CurrentCardTypeSetting:cardtype, CardTypeName:cardtypename }); selectCommon= that.data.CardType0On; selectUrgency= that.data.CardType1On; var url = "GetMiaoguoCardTotal?UserID=" + app.globalData.userInfo.UserID + "&CardType=" + that.data.CurrentCardTypeSetting; main.getData(url, function (data) { wx.hideLoading(); if (data) { var cardTotal = 0,limitNumber=0; var info = app.globalData.TaskToday; historyLimitMax=5; if (that.data.CurrentCardTypeSetting==1) { historyLimitMax=50; } that.data.BasicCardLimitArr=[]; for (var i = 10; i <= 300; i++) { that.data.BasicCardLimitArr.push(i); } that.data.CardNumberNew=[]; for (var i = 0; i <= 200; i++) { that.data.CardNumberNew.push(i); } that.data.CardNumberOld=[]; for (var i = historyLimitMax; i <= 500; i++) { that.data.CardNumberOld.push(i); } that.setData({ CardNumber: info.CardNumber, CardNumberNew: that.data.CardNumberNew, CardNumberOld: that.data.CardNumberOld, BasicCardLimitArr: that.data.BasicCardLimitArr, }); if (that.data.CurrentCardTypeSetting == 0) { if (info.CardNumber > 0) { limitNumber = data.NewLimitTimeToday + data.HistoryLimitTimeToday; cardTotal = info.CardNumberCommon; } } else if (that.data.CurrentCardTypeSetting == 1) { if (info.CardNumber > 0) { limitNumber = data.NewLimitTimeToday + data.HistoryLimitTimeToday; cardTotal = info.CardNumberUrgent; } } that.setData({ LimitCardNumber:limitNumber, CardNumberCurrent: cardTotal, NewCardAll: data.NewCardAll, HistoryCardAll: data.HistoryCardAll, NewToday: data.NewToday, NewLimitTimeToday: data.NewLimitTimeToday, HistoryLimitTimeToday: data.HistoryLimitTimeToday, NewCardNumberAndLimitToday: data.NewCardNumberAndLimitToday, HistoryCardNumberAndLimitToday: data.HistoryCardNumberAndLimitToday, }); if (that.data.CurrentCardTypeSetting==0){ common.getStorageValue(that, "BasicCardLimit", 0, function () { that.setData({ BasicCardLimitIndex: that.data.BasicCardLimit-10, }); if (that.data.BasicCardLimit>0){ that.setData({ ShowBasicCardLimit: 1, }); } }); common.getStorageValue(that, "CardMaxNumberNew", 10, function () { that.setData({ CardMaxNumberNewIndex: that.data.CardMaxNumberNew, }); }); common.getStorageValue(that, "CardMaxNumberHistory", 90, function () { that.setData({ CardMaxNumberHistoryIndex: that.data.CardMaxNumberHistory - historyLimitMax, }); }); common.getStorageValue(that, "SortTypeIndex", 0, function () { that.data.SortTypeArr=[0,0,0]; that.data.SortTypeArr[2-that.data.SortTypeIndex]=1; that.setData({ SortTypeArr: that.data.SortTypeArr, }); }); } else if (that.data.CurrentCardTypeSetting == 1) { common.getStorageValue(that, "CardMaxNumberNewUrgent", 10, function () { that.setData({ CardMaxNumberNewIndex: that.data.CardMaxNumberNewUrgent, }); }); common.getStorageValue(that, "CardMaxNumberHistoryUrgent", 100, function () { that.setData({ CardMaxNumberHistoryIndex: that.data.CardMaxNumberHistoryUrgent - historyLimitMax, }); }); } } }); }, closeSetting:function(e){ var that = this; that.setData({ CurrentCardTypeSetting:-1, }); }, gotoTaskList: function (e) { var id=e.currentTarget.dataset.id; main.GotoTaskList(id,this.data.CardType); }, goto: function (e) { var url=e.currentTarget.dataset.url; wx.navigateTo({ url: url, }); }, redirectTo: function (e) { var url = e.currentTarget.dataset.url; wx.redirectTo({ url: url, }); }, changePlanOK: function (e) { var that = this; var canSave=true; var id=e.currentTarget.dataset.id; var checked = e.detail.value; if (id==0){ selectCommon=checked; } else{ selectUrgency=checked; } if (!selectCommon && !selectUrgency){ wx.showModal({ title: '不能关闭', content: '如要关闭本模式,请先启用另一种模式。日常、紧急两种模式可任选其一或同时使用,但不能同时关闭。', confirmText: '好的', showCancel: false, success(res) { if (id==0){ selectCommon=1; that.setData({ CardType0On:1, }); } else{ selectUrgency=1; that.setData({ CardType1On:1, }); } canSave=false; } }); } else if (id==1 && selectUrgency && this.data.CardNumberCurrent==0){ wx.showModal({ title: '没有实际效果', content: '紧急练习模式中没有题卡。请将已有的题卡放到紧急练习模式中,或直接创建用于紧急练习模式的新题卡。', confirmText: '好的', showCancel: false, }); } if (canSave) that.saveSetting(); }, bindUpdateBasicCardLimit:function(e){ this.data.BasicCardLimitIndex = e.detail.value; if (this.data.CurrentCardTypeSetting == 0) { this.setData({ BasicCardLimitIndex: this.data.BasicCardLimitIndex, BasicCardLimit: this.data.BasicCardLimitArr[this.data.BasicCardLimitIndex], }); this.saveSetting(); } }, bindUpdateCardNumberNewMax: function (e) { this.data.CardMaxNumberNewIndex = e.detail.value; if (this.data.CurrentCardTypeSetting == 0) { this.setData({ CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex, CardMaxNumberNew: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex], }); } else if (this.data.CurrentCardTypeSetting == 1) { this.setData({ CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex, CardMaxNumberNewUrgent: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex], }); } this.saveSetting(); }, bindUpdateCardNumberHistoryMax: function (e) { this.data.CardMaxNumberHistoryIndex = e.detail.value; if (this.data.CurrentCardTypeSetting == 0) { this.setData({ CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex, CardMaxNumberHistory: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex], }); } else if (this.data.CurrentCardTypeSetting == 1) { this.setData({ CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex, CardMaxNumberHistoryUrgent: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex], }); } this.saveSetting(); }, bindUpdateCardSortType: function (e) { this.data.SortTypeIndex = e.currentTarget.dataset.id; this.data.SortTypeArr=[0,0,0]; //注意索引和ID不一样 this.data.SortTypeArr[2-this.data.SortTypeIndex]=1; if (this.data.CurrentCardTypeSetting == 0) { this.setData({ SortTypeIndex: this.data.SortTypeIndex, SortTypeArr: this.data.SortTypeArr, }); } this.saveSetting(); }, saveSetting:function(e){ var that = this; if (this.data.CurrentCardTypeSetting == 0) { that.setData({ CardType0On:selectCommon, }); if (that.data.ShowBasicCardLimit) wx.setStorageSync("BasicCardLimit", that.data.BasicCardLimit); else wx.setStorageSync("BasicCardLimit", 0); wx.setStorageSync("CardMaxNumberNew", that.data.CardMaxNumberNew); wx.setStorageSync("CardMaxNumberHistory", that.data.CardMaxNumberHistory); wx.setStorageSync("SortTypeIndex", that.data.SortTypeIndex); } else if (this.data.CurrentCardTypeSetting == 1) { that.setData({ CardType1On:selectUrgency, }); wx.setStorageSync("CardType", that.data.CardType1On); wx.setStorageSync("CardMaxNumberNewUrgent", that.data.CardMaxNumberNewUrgent); wx.setStorageSync("CardMaxNumberHistoryUrgent", that.data.CardMaxNumberHistoryUrgent); } var cardtype=0; if (!that.data.CardType0On && that.data.CardType1On) cardtype=1; else if (that.data.CardType0On && that.data.CardType1On) cardtype=2; wx.setStorageSync("CardType", cardtype); main.UploadUserConfig(function () { main.getTaskTodayList(function (data) { that.init(); }); }); }, changeBasicCardLimit:function(e){ var that=this; var b=!this.data.ShowBasicCardLimit; if (b){ wx.showModal({ title: '提醒', content: '将停用您的自定义设置,交由系统根据练习数据智能配比新旧题卡上限,用户只规定限量的总数。', confirmText: '继续', showCancel: true, success(res) { if (res.confirm) { var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew"); var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory"); var max=cardMaxNumberNew+cardMaxNumberHistory; if (max>300) max=300; wx.setStorageSync("BasicCardLimit", max); that.setData({ BasicCardLimit:max, }); main.UploadUserConfig(function () { main.getTaskTodayList(function (data) {}); that.setData({ ShowBasicCardLimit:b, }); }); } } }); } else{ wx.showModal({ title: '提醒', content: '将由您设置新旧题卡上限数量。可随时改回由系统配比的功能。', confirmText: '继续', showCancel: true, success(res) { if (res.confirm) { var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew"); var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory"); wx.setStorageSync("CardMaxNumberNew", 5); wx.setStorageSync("CardMaxNumberHistory", cardMaxNumberNew+cardMaxNumberHistory-5); wx.setStorageSync("BasicCardLimit", 0); that.setData({ CardMaxNumberNew:5, CardMaxNumberHistory:cardMaxNumberNew+cardMaxNumberHistory-5, }); main.UploadUserConfig(function () { main.getTaskTodayList(function (data) {}); that.setData({ ShowBasicCardLimit:b, }); }); } } }); } }, onShareAppMessage: function () { return { title: app.globalData.ShareTitle, path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID, imageUrl: app.globalData.ShareImage, } }, })