teacher.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <view v-if="isShow">
  3. <view class="list">
  4. <navigator :url="'/topic/teacherDet/teacherDet?id=' + item.id" hover-class="none" class="li ddflex" v-for="(item, index) in pageList" :key="index">
  5. <image :src="item.headUrl" mode="aspectFill"></image>
  6. <view class="fflex">
  7. <view class="tit">{{item.realName}}</view>
  8. <view class="rec-tag ddflex" v-if="item.userExtend && item.userExtend.label">
  9. <text class="ddflex" v-for="(it,idx) in item.userExtend.label.split(',')" :key="idx">{{it}}</text>
  10. </view>
  11. <!-- <view class="tea-bri tover" v-if="item.fieldValues && item.fieldValues.experience">{{item.fieldValues.experience}}</view> -->
  12. <view class="brief" v-if="item.userExtend.brief&&item.userExtend.brief!='<p><br></p>'">
  13. <rich-text :nodes="item.userExtend.brief"></rich-text>
  14. </view>
  15. </view>
  16. </navigator>
  17. </view>
  18. </view>
  19. </template>
  20. <script>
  21. const req = require('../../utils/request.js');
  22. const api = require('../../utils/api.js');
  23. const util = require('../../utils/util.js');
  24. const app = getApp();
  25. import foot from "../../components/nav-bar/index";
  26. export default {
  27. components: {
  28. foot
  29. },
  30. data() {
  31. return {
  32. isShow: false,
  33. opt: {},
  34. pageList: [],
  35. isLoad: true,
  36. form: {
  37. page: 1,
  38. limit: 10
  39. },
  40. };
  41. },
  42. onLoad(options) {
  43. this.opt = options;
  44. },
  45. onShow() {
  46. this.getPageList(true);
  47. },
  48. onReachBottom: function() {
  49. this.form.page++;
  50. this.getPageList(false);
  51. },
  52. methods: {
  53. splitLabel(label){
  54. if(!label){
  55. return false;
  56. }else{
  57. if (label.indexOf(",") > 0){
  58. return label.split(',');
  59. }else{
  60. return label.split(',');
  61. }
  62. }
  63. },
  64. getPageList(isShow){
  65. let that = this;
  66. if (!that.isLoad) return false;
  67. that.isLoad = false;
  68. let form = that.form;
  69. form.merchantId = this.opt.id;
  70. req.getRequest('/api/v3/sysUser/getDoctorV2',form,res => {
  71. that.isShow = true;
  72. if(res&&res.length > 0){
  73. res.map(it=>{
  74. if(it.userExtend.brief&&it.userExtend.brief!='<p><br></p>')
  75. it.userExtend.brief = '<div style="overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;word-break: break-all;">' + it.userExtend.brief + '</div>'
  76. })
  77. }
  78. if (res && res.length == 10) {
  79. that.isLoad = true;
  80. }
  81. if (that.form.page > 1) {
  82. res = that.pageList.concat(res);
  83. }
  84. that.pageList = res;
  85. },isShow);
  86. }
  87. }
  88. };
  89. </script>
  90. <style>
  91. @import "./teacher.css";
  92. </style>