Role.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <div>
  3. <common @asynCallBack="asynCallBack"></common>
  4. <top-header :pageTitle="pageTitle" :leftShow="false"></top-header>
  5. <div class="mui-content margin60">
  6. <div class="vongi-choose mui-content-padded">
  7. <h5>经过比对,您可以使用下列身份登录: </h5>
  8. <ul class="mui-table-view mui-table-view-radio vongi-pipei">
  9. <li v-show="popedom.indexOf('1')>-1" :class="'mui-table-view-cell '+(visterScene.role=='1'?'mui-selected':'')"
  10. @click="visterScene.role='1'">
  11. <a>
  12. <div class="mui-pull-left mui-col-xs-2">
  13. <div class="mui-media-object">
  14. <img :src="person_data.faceImageUrl">
  15. </div>
  16. <p class='mui-ellipsis'>员工</p>
  17. <span class="mui-badge mui-badge-danger">1</span>
  18. </div>
  19. <div class="mui-media-body mui-col-xs-10">
  20. {{person_data.position1}}
  21. <p class='mui-ellipsis' v-text="person_data.position2"></p>
  22. </div>
  23. </a>
  24. </li>
  25. <li v-show="popedom.indexOf('2')>-1" :class="'mui-table-view-cell '+(visterScene.role=='2'?'mui-selected':'')"
  26. @click="visterScene.role='2'">
  27. <a>
  28. <div class="mui-pull-left mui-col-xs-2">
  29. <div class="mui-media-object">
  30. <img :src="person_data.faceImageUrl">
  31. </div>
  32. <p class='mui-ellipsis'>管理人员</p>
  33. </div>
  34. <div class="mui-media-body mui-col-xs-10">
  35. {{person_data.position1}}
  36. <p class='mui-ellipsis' v-text="person_data.position2"></p>
  37. </div>
  38. </a>
  39. </li>
  40. <!-- <li v-show="popedom.indexOf('3')>-1" :class="'mui-table-view-cell '+(visterScene.role=='3'?'mui-selected':'')"
  41. @click="visterScene.role='3'">
  42. <a>
  43. <div class="mui-pull-left mui-col-xs-2">
  44. <div class="mui-media-object">
  45. <img :src="person_data.faceImageUrl">
  46. </div>
  47. <p class='mui-ellipsis'>监管端</p>
  48. </div>
  49. <div class="mui-media-body mui-col-xs-10">
  50. {{person_data.position1}}
  51. <p class='mui-ellipsis' v-text="person_data.position2"></p>
  52. </div>
  53. </a>
  54. </li> -->
  55. </ul>
  56. </div>
  57. </div>
  58. <div class="fyy-footer">
  59. <div class="bindfyy-btn"><button type="submit" class="mui-btn mui-btn-primary" @click="sure">确认选择</button></div>
  60. </div>
  61. </div>
  62. </template>
  63. <script>
  64. import Common from '$project/components/Common.vue'
  65. import Loading from '$project/components/Loading.vue'
  66. import TopHeader from '$project/components/TopHeader.vue'
  67. import {
  68. mapGetters,
  69. mapMutations
  70. } from 'vuex'
  71. import * as types from '$project/store/mutation-types'
  72. export default {
  73. name: 'Role',
  74. components: {
  75. Common,
  76. Loading,
  77. TopHeader
  78. },
  79. data() {
  80. return {
  81. pageTitle: '匹配身份',
  82. //传递过来的场景项目
  83. visterScene: {
  84. project: this.$route.query.project,
  85. role: ''
  86. }
  87. }
  88. },
  89. created() {
  90. if (this.$route.query.project) {
  91. this.visterScene.project = this.$route.query.project
  92. }
  93. },
  94. methods: {
  95. //确认
  96. sure(auto) {
  97. this.set_vister_scene(this.visterScene);
  98. if (this.visterScene.project == 'business') {
  99. if (this.visterScene.role == '1') {
  100. window.location.href = "../" + this.visterScene.project + '/#/master';
  101. } else if (this.visterScene.role == '2') {
  102. window.location.href = "../" + this.visterScene.project + '/#/houseKeeper/admin';
  103. } else if (this.visterScene.role == '3') {
  104. window.location.href = "../" + this.visterScene.project + '/#/houseKeeper/control';
  105. } else {
  106. if (!auto) {
  107. mui.toast('请选择角色');
  108. }
  109. }
  110. } else {
  111. mui.toast('未开放场景');
  112. }
  113. },
  114. asynCallBack() {
  115. //如果用户不存则去注册用户
  116. if (!this.person_data) {
  117. this.$router.push({
  118. name: 'Login',
  119. query: {
  120. project: this.visterScene.project
  121. }
  122. })
  123. }
  124. //如果场景是存在的则直接跳转
  125. if (!this.$route.query.exchange && this.vister_scene.project && this.vister_scene.role) {
  126. this.sure(true);
  127. }
  128. },
  129. ...mapMutations({
  130. set_vister_scene: types.SET_VISTER_SCENE,
  131. })
  132. },
  133. mounted() {},
  134. destroyed() {
  135. },
  136. computed: {
  137. popedom: {
  138. // getter
  139. get: function() {
  140. return this.person_data ? this.person_data.popedom.split(',') : [];
  141. },
  142. // setter
  143. set: function(newValue) {
  144. console.log(newValue)
  145. }
  146. },
  147. ...mapGetters({
  148. openId: 'wx_openid',
  149. token: 'token',
  150. person_data: 'person_data',
  151. person_popedom: 'person_popedom',
  152. vister_scene: 'vister_scene',
  153. })
  154. }
  155. }
  156. </script>
  157. <style src="$project/assets/css/iconfont.css"></style>
  158. <style scoped src="$project/assets/css/xpwyfyy.css"></style>
  159. <style scoped>
  160. </style>