unit.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. import common from '../../utils/util';
  2. import main from '../../utils/main';
  3. const app = getApp();
  4. var bookID=0;
  5. Page({
  6. data: {
  7. Menu:0,
  8. TestArr:[],
  9. KnowledgeImageName:"picZs_cn_g1F_xz",
  10. ImagePath: app.globalData.uploadImageUrl,
  11. },
  12. onLoad: function (options) {
  13. var that = this;
  14. bookID=options.BookID;
  15. that.setData({
  16. Containnerheight: main.getWindowHeight(),
  17. BookID:bookID,
  18. });
  19. //that.init();
  20. },
  21. onShow:function(){
  22. var that = this;
  23. that.init();
  24. },
  25. init:function(){
  26. var that = this;
  27. main.getData('GetMiaoguoTestUnit?BookID='+bookID+'&UserID='+app.globalData.userInfo.UserID, function (data) {
  28. if (data) {
  29. that.setData({
  30. Category:data.BookInfo.Category,
  31. LibraryName1:data.BookInfo.LibraryName1,
  32. LibraryName2:data.BookInfo.LibraryName2,
  33. WordType:data.BookInfo.WordType,
  34. WordNum:data.BookInfo.WordNum,
  35. BookName:data.BookInfo.BookName,
  36. KnowledgeImageName:data.BookInfo.KnowledgeImageName,
  37. });
  38. var readNum=0,writeNum=0,readRate=0,writeRate=0;
  39. var list1=data.List1;
  40. for(var i=0;i<list1.length;i++){
  41. if (list1[i].IsTestRead || list1[i].IsBuildRead)
  42. readNum++;
  43. if (list1[i].IsTestWrite || list1[i].IsBuildWrite)
  44. writeNum++;
  45. if (!list1[i].List)
  46. list1[i].List=list1[i].ListStr.split("、");
  47. }
  48. that.setData({
  49. List:list1,
  50. TestArr:data.List2,
  51. ReadNum:readNum,
  52. ReadRate:Math.round(100*readNum/list1.length),
  53. WriteNum:writeNum,
  54. WriteRate:Math.round(100*writeNum/list1.length),
  55. });
  56. if (that.data.BookName=="写字" || that.data.BookName=="识字" || that.data.BookName=="词语"){
  57. var date=new Date();
  58. var today=common.formatDateCHS(common.formatTime(date,"-",true));
  59. var date0=(date.getFullYear()-1).toString()+"年09月";
  60. var date1=date.getFullYear()+"年03月";
  61. var date2=date.getFullYear()+"年09月";
  62. var updateTime=date0;
  63. if (today>=date1)
  64. updateTime=date1;
  65. if (today>=date2)
  66. updateTime=date2;
  67. that.setData({
  68. UpdateTime:updateTime,
  69. });
  70. }
  71. }
  72. });
  73. },
  74. setMenu:function(e){
  75. var that=this;
  76. var menu=e.currentTarget.dataset.menu;
  77. that.setData({
  78. Menu:menu,
  79. });
  80. },
  81. setMenu2:function(e){
  82. var that=this;
  83. var menu=e.currentTarget.dataset.menu;
  84. var index=e.currentTarget.dataset.index;
  85. var item=that.data.List[index];
  86. if (item && (!item.List || item.ListStr=="")){
  87. main.getData('GetMiaoguoTestExamine?UserID='+app.globalData.userInfo.UserID+'&BookID='+that.data.BookID+'&UnitName='+item.UnitName+'&UnitID='+item.ID+'&TestType=read', function (data) {
  88. if (data) {
  89. item.List=[];
  90. for(var i=0;i<data.length;i++){
  91. item.List.push(data[i].Word);
  92. }
  93. that.setData({
  94. Menu2:menu,
  95. SelectedItem:item,
  96. });
  97. }
  98. });
  99. }
  100. else{
  101. if (item){
  102. var TestItemArr=[{
  103. ID:0,
  104. Icon:"sysIcon_d01",
  105. TestTime:"未检验",
  106. RightNum:0,
  107. WrongNum:0,
  108. }, {
  109. ID:0,
  110. Icon:"sysIcon_d02",
  111. TestTime:"未检验",
  112. RightNum:0,
  113. WrongNum:0,
  114. }];
  115. var list=that.data.TestArr;
  116. for(var i=0;i<list.length;i++){
  117. if (list[i].UnitName==item.UnitName){
  118. var id=0;
  119. if (list[i].IsTestWrite){
  120. id=1;
  121. }
  122. TestItemArr[id].ID=list[i].ID;
  123. TestItemArr[id].RightNum=list[i].RightNum;
  124. TestItemArr[id].WrongNum=list[i].WrongNum;
  125. TestItemArr[id].TestTime=list[i].TestTime;
  126. }
  127. }
  128. item.TestItemArr=TestItemArr;
  129. }
  130. else
  131. item=that.data.SelectedItem;
  132. if (menu==3){
  133. item.TestFunction[0].IsSelected=1;
  134. if (item.TestFunction.length>1)
  135. item.TestFunction[1].IsSelected=0;
  136. }
  137. that.setData({
  138. Menu2:menu,
  139. SelectedItem:item,
  140. });
  141. }
  142. },
  143. setMenu3:function(e){
  144. var that=this;
  145. var index=e.currentTarget.dataset.index;
  146. var item=that.data.SelectedItem;
  147. item.TestFunction[0].IsSelected=0;
  148. item.TestFunction[1].IsSelected=0;
  149. item.TestFunction[index].IsSelected=1;
  150. that.setData({
  151. SelectedItem:item,
  152. });
  153. },
  154. buildCard:function(){
  155. var TestTask = {};
  156. TestTask.Category = this.data.Category;
  157. TestTask.TestType = this.data.TestType;
  158. TestTask.LibraryName1 = this.data.LibraryName1;
  159. TestTask.LibraryName2 = this.data.LibraryName2;
  160. TestTask.BookName = this.data.BookName;
  161. TestTask.UnitName = this.data.SelectedItem.UnitName;
  162. TestTask.TestType="read";
  163. if (this.data.SelectedItem.TestFunction.length>1 && this.data.SelectedItem.TestFunction[1].IsSelected)
  164. TestTask.TestType="write";
  165. if (this.data.SelectedItem.TestFunction.length>0 && this.data.SelectedItem.TestFunction[0].IsSelected)
  166. TestTask.TestTypeName = this.data.SelectedItem.TestFunction[0].N2;
  167. else if (this.data.SelectedItem.TestFunction.length>1 && this.data.SelectedItem.TestFunction[1].IsSelected)
  168. TestTask.TestTypeName = this.data.SelectedItem.TestFunction[1].N2;
  169. TestTask.BookID=this.data.BookID;
  170. TestTask.UnitID=this.data.SelectedItem.ID;
  171. var list=[[],[],[]];
  172. var arr=this.data.SelectedItem.List;
  173. for(var j=0;j<arr.length;j++){
  174. var obj={};
  175. obj.IsSelected=1;
  176. obj.Word=arr[j];
  177. list[1].push(obj);
  178. }
  179. TestTask.List = list;
  180. TestTask.ReportType="build";
  181. app.globalData.TestTask=TestTask;
  182. wx.navigateTo({
  183. url: './report',
  184. });
  185. this.setData({
  186. Menu2:0,
  187. });
  188. },
  189. goto: function (e) {
  190. var url = e.currentTarget.dataset.url;
  191. var menunoclose = e.currentTarget.dataset.menunoclose;
  192. //debugger;
  193. if (url.indexOf("?RightNum=&WrongNum=&")>0 || url.indexOf("?RightNum=0&WrongNum=0&")>0)
  194. return ;
  195. wx.navigateTo({
  196. url: url,
  197. });
  198. if (!menunoclose){
  199. this.setData({
  200. Menu2:0,
  201. });
  202. }
  203. },
  204. onShareAppMessage: function () {
  205. return {
  206. title: app.globalData.ShareTitle,
  207. path: app.globalData.SharePath + '?UserID=' + app.globalData.userInfo.UserID,
  208. imageUrl: app.globalData.ShareImage,
  209. }
  210. },
  211. })