personInfo.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <view class="container">
  3. <view class="content" v-if="pageData">
  4. <view class="content-item">
  5. <text>员工姓名</text>
  6. <view>{{pageData.name}}</view>
  7. </view>
  8. <view class="content-item">
  9. <text>手机号码</text>
  10. <view>{{pageData.phone}}</view>
  11. </view>
  12. <view class="content-item">
  13. <text>性别</text>
  14. <view>{{pageData.sex|fiterSex}}</view>
  15. </view>
  16. <view class="content-item">
  17. <text>角色</text>
  18. <view>{{pageData.roles | filterRoles}}</view>
  19. </view>
  20. <view class="content-item">
  21. <text>所属机构</text>
  22. <view>{{pageData.org.name}}</view>
  23. </view>
  24. <view class="content-item">
  25. <text>可点检门店</text>
  26. <view style="color: #007AFF;" @click="viewStores">
  27. {{pageData.userStoreList?pageData.userStoreList.length+'个':'暂无'}} <u-icon name="icon-xian-11" custom-prefix="xd-icon" size="28" color="#888888"></u-icon>
  28. </view>
  29. </view>
  30. </view>
  31. <view v-else>
  32. <view class="loadingStyle">
  33. <u-loading mode="circle"></u-loading>
  34. <view>正在加载</view>
  35. </view>
  36. </view>
  37. </view>
  38. </template>
  39. <script>
  40. import { findUserInfo } from '@/api/user.js'
  41. export default{
  42. data(){
  43. return{
  44. pageData:null, // 接受上个页面传的数据
  45. }
  46. },
  47. onShow() {
  48. this.getDetail()
  49. },
  50. // 角色
  51. filters: {
  52. fiterSex(val){
  53. return ['女','男'][val]
  54. },
  55. filterRoles(val){
  56. if(val){
  57. let arr = []
  58. val.map(item => {
  59. arr.push(item.id==1000?'督导':item.name)
  60. })
  61. return arr.join(',')
  62. }
  63. }
  64. },
  65. methods:{
  66. // 查询详细信息
  67. getDetail(){
  68. findUserInfo().then(res => {
  69. console.log(res)
  70. this.pageData = res.data || null
  71. })
  72. },
  73. viewStores(){
  74. let item = this.pageData.userStoreList
  75. if(item&&item.length>0){
  76. uni.navigateTo({
  77. url: '/pages/userCenter/viewStores?item='+encodeURIComponent(JSON.stringify(item))
  78. })
  79. }
  80. }
  81. }
  82. }
  83. </script>
  84. <style lang="less">
  85. .loadingStyle{
  86. text-align: center;
  87. padding: 10vh 0 10vh 0;
  88. }
  89. .container{
  90. color:#666;
  91. font-size: 28rpx;
  92. .content{
  93. position: relative;
  94. background-color: #FFFFFF;
  95. margin-bottom: 60rpx;
  96. .content-item{
  97. display: flex;
  98. justify-content: space-between;
  99. padding: 30rpx;
  100. border-bottom: 1px solid #e5e5e5;
  101. > view{
  102. color: #666;
  103. }
  104. }
  105. }
  106. }
  107. </style>