taskFull.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. import fanObj from '../../pages/template/FanObject';
  4. import constant from '../../utils/constant';
  5. const app = getApp();
  6. var selectCommon=0;
  7. var selectUrgency=0;
  8. var historyLimitMax=5;
  9. Page({
  10. data: {
  11. ImagePath: app.globalData.uploadImageUrl,
  12. CardType:0,
  13. CardTypeName:"日常",
  14. CardType0On: 0,
  15. CardType1On: 0,
  16. CurrentCardTypeSetting:-1,
  17. CardNumberNew: [],
  18. CardNumberOld: [],
  19. BasicCardLimitArr: [],
  20. SortTypeArr:[0,0,1],
  21. },
  22. onLoad: function (options) {
  23. var that = this;
  24. that.setData({
  25. Containnerheight: main.getWindowHeight(),
  26. });
  27. that.init();
  28. },
  29. init: function () {
  30. var that = this;
  31. var studyPlan = app.globalData.TaskToday;
  32. var newLength=0;
  33. if (studyPlan.ListNew && studyPlan.ListNew.length>0)
  34. newLength=studyPlan.ListNew.length;
  35. var reviewLength=0;
  36. if (studyPlan.ListReview && studyPlan.ListReview.length>0)
  37. reviewLength=studyPlan.ListReview.length;
  38. var historyLength=0;
  39. if (studyPlan.ListHistory && studyPlan.ListHistory.length>0)
  40. historyLength=studyPlan.ListHistory.length;
  41. var backColor = "#f0f0f0";
  42. var rate = 0;
  43. if (studyPlan.CommonNewLength > 0 || studyPlan.CommonOldLength > 0) {
  44. rate = studyPlan.CommonNewLength / (studyPlan.CommonNewLength + studyPlan.CommonOldLength);
  45. backColor = "#EF7F57";
  46. }
  47. var number1=studyPlan.CommonNewLength + studyPlan.CommonOldLength;
  48. if (!number1)
  49. number1=0;
  50. fanObj.init(that, rate, 96, 3.0, "#F8C6B4", backColor, number1);
  51. var backColor2 = "#f0f0f0";
  52. var rate2 = 0;
  53. if (studyPlan.UrgentNewLength > 0 || studyPlan.UrgentOldLength > 0) {
  54. rate2 = studyPlan.UrgentNewLength / (studyPlan.UrgentNewLength + studyPlan.UrgentOldLength);
  55. backColor2 = "#EF7F57";
  56. }
  57. var number2=studyPlan.UrgentNewLength + studyPlan.UrgentOldLength;
  58. if (!number2)
  59. number2=0;
  60. fanObj.init2(that, rate2, 96, 3.0, "#F8C6B4", backColor2, number2);
  61. var taskNumber = newLength + reviewLength + historyLength;
  62. that.setData({
  63. StudyPlan: studyPlan,
  64. TaskNumber: taskNumber,
  65. LimitTimeCardNum:studyPlan.NewLimitTimeToday+studyPlan.HistoryLimitTimeToday,
  66. });
  67. common.getStorageValue(that, "CardType", 0, function () {
  68. if (that.data.CardType==0 || that.data.CardType==2) {
  69. that.setData({
  70. CardType0On: 1,
  71. });
  72. }
  73. if (that.data.CardType==1 || that.data.CardType==2) {
  74. that.setData({
  75. CardType1On: 1,
  76. });
  77. }
  78. selectCommon= that.data.CardType0On;
  79. selectUrgency= that.data.CardType1On;
  80. });
  81. },
  82. showSetting:function(e){
  83. var that = this;
  84. wx.showLoading();
  85. var cardtype=e.currentTarget.dataset.cardtype;
  86. var cardtypename=e.currentTarget.dataset.cardtypename;
  87. that.setData({
  88. CurrentCardTypeSetting:cardtype,
  89. CardTypeName:cardtypename
  90. });
  91. selectCommon= that.data.CardType0On;
  92. selectUrgency= that.data.CardType1On;
  93. var url = "GetMiaoguoCardTotal?UserID=" + app.globalData.userInfo.UserID + "&CardType=" + that.data.CurrentCardTypeSetting;
  94. main.getData(url, function (data) {
  95. wx.hideLoading();
  96. if (data) {
  97. var cardTotal = 0,limitNumber=0;
  98. var info = app.globalData.TaskToday;
  99. historyLimitMax=5;
  100. if (that.data.CurrentCardTypeSetting==1) {
  101. historyLimitMax=50;
  102. }
  103. that.data.BasicCardLimitArr=[];
  104. for (var i = 10; i <= 300; i++) {
  105. that.data.BasicCardLimitArr.push(i);
  106. }
  107. that.data.CardNumberNew=[];
  108. for (var i = 0; i <= 200; i++) {
  109. that.data.CardNumberNew.push(i);
  110. }
  111. that.data.CardNumberOld=[];
  112. for (var i = historyLimitMax; i <= 500; i++) {
  113. that.data.CardNumberOld.push(i);
  114. }
  115. that.setData({
  116. CardNumber: info.CardNumber,
  117. CardNumberNew: that.data.CardNumberNew,
  118. CardNumberOld: that.data.CardNumberOld,
  119. BasicCardLimitArr: that.data.BasicCardLimitArr,
  120. });
  121. if (that.data.CurrentCardTypeSetting == 0) {
  122. if (info.CardNumber > 0) {
  123. limitNumber = data.NewLimitTimeToday + data.HistoryLimitTimeToday;
  124. cardTotal = info.CardNumberCommon;
  125. }
  126. }
  127. else if (that.data.CurrentCardTypeSetting == 1) {
  128. if (info.CardNumber > 0) {
  129. limitNumber = data.NewLimitTimeToday + data.HistoryLimitTimeToday;
  130. cardTotal = info.CardNumberUrgent;
  131. }
  132. }
  133. that.setData({
  134. LimitCardNumber:limitNumber,
  135. CardNumberCurrent: cardTotal,
  136. NewCardAll: data.NewCardAll,
  137. HistoryCardAll: data.HistoryCardAll,
  138. NewToday: data.NewToday,
  139. NewLimitTimeToday: data.NewLimitTimeToday,
  140. HistoryLimitTimeToday: data.HistoryLimitTimeToday,
  141. NewCardNumberAndLimitToday: data.NewCardNumberAndLimitToday,
  142. HistoryCardNumberAndLimitToday: data.HistoryCardNumberAndLimitToday,
  143. });
  144. if (that.data.CurrentCardTypeSetting==0){
  145. common.getStorageValue(that, "BasicCardLimit", 0, function () {
  146. that.setData({
  147. BasicCardLimitIndex: that.data.BasicCardLimit-10,
  148. });
  149. if (that.data.BasicCardLimit>0){
  150. that.setData({
  151. ShowBasicCardLimit: 1,
  152. });
  153. }
  154. });
  155. common.getStorageValue(that, "CardMaxNumberNew", 10, function () {
  156. that.setData({
  157. CardMaxNumberNewIndex: that.data.CardMaxNumberNew,
  158. });
  159. });
  160. common.getStorageValue(that, "CardMaxNumberHistory", 90, function () {
  161. that.setData({
  162. CardMaxNumberHistoryIndex: that.data.CardMaxNumberHistory - historyLimitMax,
  163. });
  164. });
  165. common.getStorageValue(that, "SortTypeIndex", 0, function () {
  166. that.data.SortTypeArr=[0,0,0];
  167. that.data.SortTypeArr[2-that.data.SortTypeIndex]=1;
  168. that.setData({
  169. SortTypeArr: that.data.SortTypeArr,
  170. });
  171. });
  172. }
  173. else if (that.data.CurrentCardTypeSetting == 1) {
  174. common.getStorageValue(that, "CardMaxNumberNewUrgent", 10, function () {
  175. that.setData({
  176. CardMaxNumberNewIndex: that.data.CardMaxNumberNewUrgent,
  177. });
  178. });
  179. common.getStorageValue(that, "CardMaxNumberHistoryUrgent", 100, function () {
  180. that.setData({
  181. CardMaxNumberHistoryIndex: that.data.CardMaxNumberHistoryUrgent - historyLimitMax,
  182. });
  183. });
  184. }
  185. }
  186. });
  187. },
  188. closeSetting:function(e){
  189. var that = this;
  190. that.setData({
  191. CurrentCardTypeSetting:-1,
  192. });
  193. },
  194. gotoTaskList: function (e) {
  195. var id=e.currentTarget.dataset.id;
  196. main.GotoTaskList(id,this.data.CardType);
  197. },
  198. goto: function (e) {
  199. var url=e.currentTarget.dataset.url;
  200. wx.navigateTo({
  201. url: url,
  202. });
  203. },
  204. redirectTo: function (e) {
  205. var url = e.currentTarget.dataset.url;
  206. wx.redirectTo({
  207. url: url,
  208. });
  209. },
  210. changePlanOK: function (e) {
  211. var that = this;
  212. var canSave=true;
  213. var id=e.currentTarget.dataset.id;
  214. var checked = e.detail.value;
  215. if (id==0){
  216. selectCommon=checked;
  217. }
  218. else{
  219. selectUrgency=checked;
  220. }
  221. if (!selectCommon && !selectUrgency){
  222. wx.showModal({
  223. title: '不能关闭',
  224. content: '如要关闭本模式,请先启用另一种模式。日常、紧急两种模式可任选其一或同时使用,但不能同时关闭。',
  225. confirmText: '好的',
  226. showCancel: false,
  227. success(res) {
  228. if (id==0){
  229. selectCommon=1;
  230. that.setData({
  231. CardType0On:1,
  232. });
  233. }
  234. else{
  235. selectUrgency=1;
  236. that.setData({
  237. CardType1On:1,
  238. });
  239. }
  240. canSave=false;
  241. }
  242. });
  243. }
  244. else if (id==1 && selectUrgency && this.data.CardNumberCurrent==0){
  245. wx.showModal({
  246. title: '没有实际效果',
  247. content: '紧急练习模式中没有题卡。请将已有的题卡放到紧急练习模式中,或直接创建用于紧急练习模式的新题卡。',
  248. confirmText: '好的',
  249. showCancel: false,
  250. });
  251. }
  252. if (canSave)
  253. that.saveSetting();
  254. },
  255. bindUpdateBasicCardLimit:function(e){
  256. this.data.BasicCardLimitIndex = e.detail.value;
  257. if (this.data.CurrentCardTypeSetting == 0) {
  258. this.setData({
  259. BasicCardLimitIndex: this.data.BasicCardLimitIndex,
  260. BasicCardLimit: this.data.BasicCardLimitArr[this.data.BasicCardLimitIndex],
  261. });
  262. this.saveSetting();
  263. }
  264. },
  265. bindUpdateCardNumberNewMax: function (e) {
  266. this.data.CardMaxNumberNewIndex = e.detail.value;
  267. if (this.data.CurrentCardTypeSetting == 0) {
  268. this.setData({
  269. CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex,
  270. CardMaxNumberNew: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex],
  271. });
  272. }
  273. else if (this.data.CurrentCardTypeSetting == 1) {
  274. this.setData({
  275. CardMaxNumberNewIndex: this.data.CardMaxNumberNewIndex,
  276. CardMaxNumberNewUrgent: this.data.CardNumberNew[this.data.CardMaxNumberNewIndex],
  277. });
  278. }
  279. this.saveSetting();
  280. },
  281. bindUpdateCardNumberHistoryMax: function (e) {
  282. this.data.CardMaxNumberHistoryIndex = e.detail.value;
  283. if (this.data.CurrentCardTypeSetting == 0) {
  284. this.setData({
  285. CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex,
  286. CardMaxNumberHistory: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex],
  287. });
  288. }
  289. else if (this.data.CurrentCardTypeSetting == 1) {
  290. this.setData({
  291. CardMaxNumberHistoryIndex: this.data.CardMaxNumberHistoryIndex,
  292. CardMaxNumberHistoryUrgent: this.data.CardNumberOld[this.data.CardMaxNumberHistoryIndex],
  293. });
  294. }
  295. this.saveSetting();
  296. },
  297. bindUpdateCardSortType: function (e) {
  298. this.data.SortTypeIndex = e.currentTarget.dataset.id;
  299. this.data.SortTypeArr=[0,0,0];
  300. //注意索引和ID不一样
  301. this.data.SortTypeArr[2-this.data.SortTypeIndex]=1;
  302. if (this.data.CurrentCardTypeSetting == 0) {
  303. this.setData({
  304. SortTypeIndex: this.data.SortTypeIndex,
  305. SortTypeArr: this.data.SortTypeArr,
  306. });
  307. }
  308. this.saveSetting();
  309. },
  310. saveSetting:function(e){
  311. var that = this;
  312. if (this.data.CurrentCardTypeSetting == 0) {
  313. that.setData({
  314. CardType0On:selectCommon,
  315. });
  316. if (that.data.ShowBasicCardLimit)
  317. wx.setStorageSync("BasicCardLimit", that.data.BasicCardLimit);
  318. else
  319. wx.setStorageSync("BasicCardLimit", 0);
  320. wx.setStorageSync("CardMaxNumberNew", that.data.CardMaxNumberNew);
  321. wx.setStorageSync("CardMaxNumberHistory", that.data.CardMaxNumberHistory);
  322. wx.setStorageSync("SortTypeIndex", that.data.SortTypeIndex);
  323. }
  324. else if (this.data.CurrentCardTypeSetting == 1) {
  325. that.setData({
  326. CardType1On:selectUrgency,
  327. });
  328. wx.setStorageSync("CardType", that.data.CardType1On);
  329. wx.setStorageSync("CardMaxNumberNewUrgent", that.data.CardMaxNumberNewUrgent);
  330. wx.setStorageSync("CardMaxNumberHistoryUrgent", that.data.CardMaxNumberHistoryUrgent);
  331. }
  332. var cardtype=0;
  333. if (!that.data.CardType0On && that.data.CardType1On)
  334. cardtype=1;
  335. else if (that.data.CardType0On && that.data.CardType1On)
  336. cardtype=2;
  337. wx.setStorageSync("CardType", cardtype);
  338. main.UploadUserConfig(function () {
  339. main.getTaskTodayList(function (data) {
  340. that.init();
  341. });
  342. });
  343. },
  344. changeBasicCardLimit:function(e){
  345. var that=this;
  346. var b=!this.data.ShowBasicCardLimit;
  347. if (b){
  348. wx.showModal({
  349. title: '提醒',
  350. content: '将停用您的自定义设置,交由系统根据练习数据智能配比新旧题卡上限,用户只规定限量的总数。',
  351. confirmText: '继续',
  352. showCancel: true,
  353. success(res) {
  354. if (res.confirm) {
  355. var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
  356. var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
  357. var max=cardMaxNumberNew+cardMaxNumberHistory;
  358. if (max>300)
  359. max=300;
  360. wx.setStorageSync("BasicCardLimit", max);
  361. that.setData({
  362. BasicCardLimit:max,
  363. });
  364. main.UploadUserConfig(function () {
  365. main.getTaskTodayList(function (data) {});
  366. that.setData({
  367. ShowBasicCardLimit:b,
  368. });
  369. });
  370. }
  371. }
  372. });
  373. }
  374. else{
  375. wx.showModal({
  376. title: '提醒',
  377. content: '将由您设置新旧题卡上限数量。可随时改回由系统配比的功能。',
  378. confirmText: '继续',
  379. showCancel: true,
  380. success(res) {
  381. if (res.confirm) {
  382. var cardMaxNumberNew = wx.getStorageSync("CardMaxNumberNew");
  383. var cardMaxNumberHistory = wx.getStorageSync("CardMaxNumberHistory");
  384. wx.setStorageSync("CardMaxNumberNew", 5);
  385. wx.setStorageSync("CardMaxNumberHistory", cardMaxNumberNew+cardMaxNumberHistory-5);
  386. wx.setStorageSync("BasicCardLimit", 0);
  387. that.setData({
  388. CardMaxNumberNew:5,
  389. CardMaxNumberHistory:cardMaxNumberNew+cardMaxNumberHistory-5,
  390. });
  391. main.UploadUserConfig(function () {
  392. main.getTaskTodayList(function (data) {});
  393. that.setData({
  394. ShowBasicCardLimit:b,
  395. });
  396. });
  397. }
  398. }
  399. });
  400. }
  401. },
  402. onShareAppMessage: function () {
  403. return {
  404. title: app.globalData.ShareTitle,
  405. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  406. imageUrl: app.globalData.ShareImage,
  407. }
  408. },
  409. })