index.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <div class="container">
  3. <div class="header">
  4. <img class="bg" src="../../static/images/my_header.png" alt="" />
  5. <div class="user" @click="onEnterPage('setting')">
  6. <div class="avatar"><img :src="userInfo.avatar || man" /></div>
  7. <div class="name" v-if="userInfo">
  8. <span>{{ userInfo.name || '用户' + userInfo.mobile.slice(7, 11) }}</span>
  9. <span>{{ userInfo.mobile }}</span>
  10. </div>
  11. <div class="name" v-else><span>未登录</span></div>
  12. </div>
  13. <div class="set" @click="onEnterPage('setting')">
  14. <i class="font_family icon-shezhi"></i>
  15. 个人设置
  16. </div>
  17. </div>
  18. <div class="patient">
  19. <span class="title">学生信息</span>
  20. <div class="null-box" @click="onEnterPage('addPatient')" v-if="!users.length">
  21. <i class="font_family icon-shoucang"></i>
  22. <span>添加学生</span>
  23. </div>
  24. <div class="user-list" v-else>
  25. <div class="cell-item" v-for="(item, index) in users" :key="index" @click="onEnterPage('index', item)">
  26. <span>{{ item.name }}</span>
  27. <!-- <i class="font_family icon-jiantoua"></i> -->
  28. <span style="padding: 10px;box-sizing: border-box;margin-right: -12px;"><i class="font_family icon-shanchu" @click.stop="bindOpenUnbundle(item)"></i></span>
  29. </div>
  30. </div>
  31. <div class="add-box" v-if="users.length">
  32. <span class="add-btn" @click="onEnterPage('addPatient')">
  33. <i class="font_family icon-shoucang"></i>
  34. <span>添加学生</span>
  35. </span>
  36. </div>
  37. </div>
  38. <!-- 解绑弹窗 -->
  39. <uni-popup ref="userPopup" type="bottom">
  40. <div class="cell-group">
  41. <div class="cell-item tips">解绑<i class="red">“学生信息”</i>,解绑后学生信息将会被清除!</div>
  42. <div class="cell-item red" @click="bindUnbundle()">解绑</div>
  43. <div class="cell-item margintop" @click="$refs.userPopup.close()">取消</div>
  44. </div>
  45. </uni-popup>
  46. </div>
  47. </template>
  48. <script>
  49. import methods from './methods.js';
  50. export default {
  51. data() {
  52. return {
  53. imgUrl: '',
  54. userInfo: '',
  55. man: '',
  56. users: [],
  57. unbundleUser: ''
  58. };
  59. },
  60. onLoad() {
  61. let app = getApp();
  62. this.imgUrl = app.globalData.imgUrl;
  63. this.man = this.imgUrl + app.globalData.man;
  64. },
  65. onShow() {
  66. this.userInfo = uni.getStorageSync('userInfo');
  67. if (this.userInfo) {
  68. this.initData();
  69. } else {
  70. this.users = []
  71. }
  72. },
  73. onUnload() {},
  74. methods: {
  75. ...methods
  76. }
  77. };
  78. </script>
  79. <style lang="scss">
  80. @import './style.scss';
  81. </style>