index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <view class="msilde">
  3. <view class="left">
  4. <u-collapse accordion @open="current = -1">
  5. <u-collapse-item :title="d.deptName" name="Docs guide" v-for="(d, index) in list" :key="d.deptName">
  6. <view :class="{ active: index == current }" v-for="(i, index) in d.children" :key="i.deptName" class="item" @click="selected(i, index)">{{ i.deptName }}</view>
  7. </u-collapse-item>
  8. </u-collapse>
  9. </view>
  10. <view class="right">
  11. <view class="list">
  12. <view v-for="(item, index) in doctor_list" :key="index" class="item" @click="go('/pages/doctor/detail?id=' + item.id)">
  13. <image :src="item.avatar ? ip + item.avatar : '../../static/head.png'" mode="aspectFit" class="avatar"></image>
  14. <view class="name">{{ item.name }}</view>
  15. </view>
  16. </view>
  17. </view>
  18. </view>
  19. </template>
  20. <script>
  21. export default {
  22. data() {
  23. return {
  24. ip: this.http.ip,
  25. doctor_list: {},
  26. current: -1,
  27. list: []
  28. };
  29. },
  30. onLoad(e) {
  31. this.getData();
  32. },
  33. methods: {
  34. getData() {
  35. this.http.request({
  36. url: '/app/department/list',
  37. success: (res) => {
  38. this.list = res.data.data;
  39. }
  40. });
  41. },
  42. selected(item, index) {
  43. this.current = index;
  44. this.http.request({
  45. url: '/app/doctor/list',
  46. data: { deptId: item.deptId },
  47. success: (res) => {
  48. this.doctor_list = res.data.data;
  49. }
  50. });
  51. },
  52. go(url) {
  53. uni.navigateTo({ url: url });
  54. }
  55. }
  56. };
  57. </script>
  58. <style lang="scss"></style>