home.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <view id="home">
  3. <teacherHome class="flex-box-page" v-if="userType==1"></teacherHome>
  4. <pupilHome class="flex-box-page" v-if="userType==2"></pupilHome>
  5. <supplierWorkbench v-if="userType==5" class="flex-box-page"></supplierWorkbench>
  6. </view>
  7. </template>
  8. <script>
  9. import {
  10. systemUserPersonalData,
  11. } from '@/pages/api/index.js'
  12. import {
  13. teacherHome
  14. } from '@/pages/views/teacherPage/teacherHome'
  15. import {
  16. pupilHome
  17. } from '@/pages/views/pupilPage/pupilHome'
  18. import {
  19. supplierWorkbench
  20. } from '@/pages/views/supplierWorkbenchPage/supplierWorkbench'
  21. export default {
  22. onShareAppMessage(res) {
  23. return {
  24. title: '实验室安全智慧化管控系统',
  25. path: '/pages/views/login/login'
  26. }
  27. },
  28. name: "home",
  29. components: {
  30. teacherHome,
  31. pupilHome,
  32. supplierWorkbench,
  33. },
  34. data() {
  35. return {
  36. userType: 0,
  37. }
  38. },
  39. onLoad() {
  40. },
  41. onShow() {
  42. uni.removeStorageSync('planSensorList');
  43. if (uni.getStorageSync('token') && uni.getStorageSync('userId') && uni.getStorageSync('userType')) {
  44. this.systemUserPersonalData();
  45. //写入用户
  46. } else {
  47. uni.removeStorageSync('token');
  48. uni.removeStorageSync('userId');
  49. uni.removeStorageSync('userType');
  50. uni.redirectTo({
  51. url: '/pages/views/login/login',
  52. });
  53. }
  54. },
  55. methods: {
  56. async systemUserPersonalData(){
  57. const {
  58. data
  59. } = await systemUserPersonalData();
  60. if (data.code == 200) {
  61. // isInitPwd 初始密码 true 是
  62. // isTutorExist 导师 true 有
  63. // isPhoneExist 电话 true 有
  64. // userType 1教职工 2学生
  65. if(data.data.userType == 1 && !data.data.isPhoneExist){
  66. //教职工
  67. uni.redirectTo({
  68. url: '/pages_basics/views/completeInformation/completeInformation',
  69. });
  70. }else if(data.data.userType == 2 &&(!data.data.isTutorExist || !data.data.isPhoneExist)){
  71. //学生
  72. uni.redirectTo({
  73. url: '/pages_basics/views/completeInformation/completeInformation',
  74. });
  75. }else if(data.data.isInitPwd){
  76. this.userType = uni.getStorageSync('userType')
  77. // 初始密码提示 每次登录只提示一次
  78. // if(uni.getStorageSync('isInitPwd')){
  79. // uni.setStorageSync('isInitPwd', false);
  80. // this.passwrodTips();
  81. // }
  82. }else{
  83. this.userType = uni.getStorageSync('userType')
  84. }
  85. }
  86. },
  87. //初始密码修改提示
  88. passwrodTips(){
  89. uni.showModal({
  90. title: '提示',
  91. cancelColor: '#999999',
  92. confirmColor: '#0183FA',
  93. content: '为了保证信息安全,是否修改默认密码',
  94. cancelText:'稍后修改',
  95. confirmText:'修改密码',
  96. success(res) {
  97. if (res.confirm) {
  98. // console.log('确定')
  99. uni.navigateTo({
  100. url: '/pages_basics/views/editPassword/editPassword',
  101. });
  102. } else if (res.cancel) {
  103. // console.log('取消')
  104. }
  105. }
  106. })
  107. },
  108. },
  109. onHide() {
  110. this.userType = 0;
  111. },
  112. onUnload() {
  113. this.userType = 0;
  114. }
  115. }
  116. </script>
  117. <style lang="stylus" scoped>
  118. #home {
  119. height: 100%;
  120. display: flex;
  121. flex-direction: column;
  122. .flex-box-page{
  123. flex:1;
  124. display: flex;
  125. flex-direction: column;
  126. }
  127. }
  128. </style>