personInfo.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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}}</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.orgCodePaths}}</view>
  23. </view>
  24. <view class="content-item">
  25. <text>可点检门店</text>
  26. <view style="color: #007AFF;" @click="viewStores">
  27. 12个 <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. filterRoles(val){
  53. let arr = []
  54. val.map(item => {
  55. arr.push(item.name)
  56. })
  57. return arr.join(',')
  58. }
  59. },
  60. methods:{
  61. // 查询详细信息
  62. getDetail(){
  63. findUserInfo().then(res => {
  64. this.pageData = res.data || null
  65. })
  66. },
  67. viewStores(){
  68. let item = this.pageData.userStoreList
  69. if(item.length>0){
  70. uni.navigateTo({
  71. url: '/pages/userCenter/viewStores?userStoreList='+encodeURIComponent(JSON.stringify(item))
  72. })
  73. }
  74. }
  75. }
  76. }
  77. </script>
  78. <style lang="less">
  79. .loadingStyle{
  80. text-align: center;
  81. padding: 10vh 0 10vh 0;
  82. }
  83. .container{
  84. color:#666;
  85. font-size: 28rpx;
  86. .content{
  87. position: relative;
  88. background-color: #FFFFFF;
  89. margin-bottom: 60rpx;
  90. .content-item{
  91. display: flex;
  92. justify-content: space-between;
  93. padding: 30rpx;
  94. border-bottom: 1px solid #e5e5e5;
  95. > view{
  96. color: #666;
  97. }
  98. }
  99. }
  100. }
  101. </style>