teacherDevelop.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <div class="teacherDevelop">
  3. <topBar title="教师发展" detail="教师年度考核 · 教师成长画像 · AI课堂观察"></topBar>
  4. <div class="cardBox">
  5. <card v-for="item in cardData(cardArray)"
  6. :key="item.title"
  7. :title="item.title"
  8. :icon="item.icon"
  9. :to="item.to"
  10. :type="item.type"
  11. :sortId="item.sortId"
  12. :cardData="item"
  13. ></card>
  14. </div>
  15. </div>
  16. </template>
  17. <script>
  18. import topBar from './components/topBar'
  19. import card from './components/card.vue';
  20. export default {
  21. components: {
  22. topBar,
  23. card
  24. },
  25. computed:{
  26. // 进行权限判断一些只有管理员能看
  27. cardData(){
  28. return (val)=>{
  29. let com = val.filter(e=> e.role==0 || (this.role == 1 && e.role == 1) )
  30. return com
  31. }
  32. }
  33. },
  34. data() {
  35. return {
  36. role: this.$route.query.role,
  37. cardArray: [
  38. { title: '年度考核', icon: require('../../../assets/icon/liyuan/niandukaohe.svg'), type: 1, to: "/examineL",role:0 },
  39. { title: '个人档案', icon: require('../../../assets/icon/liyuan/gerendangan.svg'), type: 1, to: "/userInfoL",role:0 },
  40. { title: '教师画像', icon: require('../../../assets/icon/liyuan/jiaoshihuaxiang.svg'), type: 1, to: "/portraitL",role:0 },
  41. { title: '课堂观察', icon: require('../../../assets/icon/liyuan/ketangguancha.svg'), type: 1, to: "/classroomObservation",role:0 },
  42. { title: '智能表单', icon: require('../../../assets/icon/liyuan/zhinengbiaodan.svg'), type: 1, to: "/sassPlatform",role:1,sassPlatFormTypeId:"eefb7195-8ee7-11f0-9c7b-005056924926" },
  43. { title: '考核资料', icon: require('../../../assets/icon/liyuan/zlsj.svg'), type: 1, to: "/teadTest",role:0,sortId:'eefb7195-8ee7-11f0-9c7b-005056924926' },
  44. { title: '考核审核', icon: require('../../../assets/icon/liyuan/workTest.svg'), type: 1, to: "/testReview",role:0 },
  45. ]
  46. }
  47. },
  48. }
  49. </script>
  50. <style scoped>
  51. .teacherDevelop{
  52. width: 100%;
  53. height: 100%;
  54. padding: 40px 90px;
  55. box-sizing: border-box;
  56. background: #FAFAFA;
  57. }
  58. .cardBox{
  59. display: grid;
  60. grid-template-columns: repeat(5, 1fr);
  61. gap: 20px;
  62. width: 100%;
  63. margin-top: 20px;
  64. }
  65. </style>