report.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. let state = {
  2. scrollTop: 0,
  3. barMaxWidth: 40, //分析报告柱子最大宽度
  4. barMinWidth: 20, //分析报告柱子最小宽度
  5. examId:localStorage.getItem('reportExamId') || '',//分析报告考试分析表主id
  6. examCourseCode:localStorage.getItem('reportExamCourseCode') || '',//分析报告考试分析表选择的科目
  7. examSelectItem:localStorage.getItem('reportExamItem') || {},//考试分析首页选择的考试item数据
  8. examSelectCourseItem: localStorage.getItem('reportExamCourseItem') || {},//考试分析首页选择的科目item数据
  9. filterData:[],//筛选数据
  10. filterObject: {
  11. examLevel:'',//1-联考 2-单校
  12. contrastExamIds:[],//多次考试任务对比ID,不包含当前任务ID
  13. examId:'',//考试id
  14. subjectCode: '', //科目code
  15. subjectGroupType: '', //是否为组合科目 1为组合科目 0为非组合科目
  16. subjectGroupNames: '',//科目名称
  17. isTotal: '' //是否为总分科目 1为总分 0为非总分
  18. },//分析报告顶部筛选数据对象 需要更多数据可以追加user_menuList
  19. isTotalScore: localStorage.getItem('reportIsTotalScore') || false,//考试分析选择的科目是否是总分
  20. filterDataObject:{
  21. graduatesList:[],//届别列表
  22. levelsList:[],//学段列表
  23. gradeList:[],//年级列表
  24. examTypeList:[],//考试类型列表
  25. },//分析报告考试筛选数据对象存储
  26. isShowFilter:false,//是否显示顶部筛选数据
  27. rateName:'四率',//考试的多率名称 三率还是四率还是五率 默认四率
  28. student:{//学生分析
  29. examWeight:[],//考试权重占比
  30. StudentRules: {
  31. topNumber: 10, //大幅上升名次
  32. bottomNumber: 10, //大幅下降名次
  33. upNumber: 3, //平稳上升名次
  34. lowNumber: 3, //平稳下降名次
  35. },//需关注学生->学生判断规则设置
  36. },
  37. lastExamIdList:[],// 考试综述或成绩单同步对比考试选择,保存最后选择的对比考试id
  38. updateScrollTop:0,//更新分析报告页面滚动条位置 使其回到顶部
  39. lastExamRadioId: '', // 对标考试单选考试id
  40. lastExamRadioName: '', // 对标考试单选考试name
  41. lastExamSelectIds: [], // 历次对比考试list
  42. examLevel: 2 // 任务级别 单校还是联考 1-联考 2-单校
  43. };
  44. // 同步
  45. let mutations = {
  46. //设置筛选数据
  47. SetFilterData(state, data) {
  48. state.filterObject = data;
  49. // state.filterObject[data.key] = data.value;
  50. // if (data.key == "subjectInfo") {
  51. // state.isTotalScore = data.value.isTotalScore;
  52. // }
  53. },
  54. //设置分析报告store数据
  55. set_state(state, data) {
  56. state[data.key] = data.value;
  57. },
  58. // 设置读取本地存储的筛选数据
  59. SetLocalFilterDataObject()
  60. {
  61. if(localStorage.getItem('filterDataObject')!=null)
  62. {
  63. state.filterDataObject=JSON.parse(localStorage.getItem('filterDataObject'));
  64. }
  65. },
  66. //设置 学生分析考试占比
  67. SetExamWeight(state, data){
  68. state.student.examWeight = data;
  69. },
  70. //设置 需关注学生->学生判断规则设置
  71. SetStudentRules(state, data){
  72. state.student.StudentRules = data;
  73. },
  74. //设置 同步对比考试id
  75. SetLastExamIdList(state, data){
  76. state.lastExamIdList = data;
  77. },
  78. //回到顶部
  79. GotoTop(state){
  80. state.updateScrollTop++;
  81. },
  82. //设置 同步对比考试id单选
  83. SetLastExamRadioId(state, data){
  84. state.lastExamRadioId = data;
  85. },
  86. //设置 同步对比考试id单选
  87. SetLastExamRadioName(state, data){
  88. state.lastExamRadioName = data;
  89. },
  90. //设置 同步对比考试id集合
  91. SetLastExamSelectIds(state, data){
  92. state.lastExamSelectIds = data;
  93. },
  94. //设置任务级别
  95. SetExamLevel(state, data){
  96. state.examLevel = data;
  97. },
  98. };
  99. // 异步
  100. let actions = {
  101. // 更新筛选数据
  102. UpdateFilterObject({ commit }, data) {
  103. commit("SetFilterData", data);
  104. },
  105. SET_STATE({ commit }, data) {
  106. commit("set_state", data);
  107. },
  108. };
  109. export default {
  110. namespaced: true,
  111. state,
  112. mutations,
  113. actions,
  114. };