View.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <template>
  2. <el-dialog
  3. :title="$t(&quot;common.view&quot;)"
  4. :width="width"
  5. :append-to-body="true"
  6. :visible.sync="isVisible"
  7. class="tenant-view"
  8. >
  9. <el-row :gutter="10">
  10. <el-col :xs="24" :sm="24">
  11. <div class="img-wrapper">
  12. <img :src="tenant.logo">
  13. </div>
  14. </el-col>
  15. </el-row>
  16. <el-row :gutter="10">
  17. <el-col :xs="24" :sm="12">
  18. <div class="view-item">
  19. <i class="el-icon-user" />
  20. <span>{{ $t('table.tenant.code') +':' }}</span>
  21. {{ tenant.code }}
  22. </div>
  23. </el-col>
  24. <el-col :xs="24" :sm="12">
  25. <div class="view-item">
  26. <i class="el-icon-suitcase" />
  27. <span>{{ $t('table.tenant.name') +':' }}</span>
  28. {{ tenant.name }}
  29. </div>
  30. </el-col>
  31. </el-row>
  32. <el-row :gutter="10">
  33. <el-col :xs="24" :sm="12">
  34. <div class="view-item">
  35. <i class="el-icon-trophy" />
  36. <span>{{ $t('table.tenant.type') +':' }}</span>
  37. {{ tenant.type.desc }}
  38. </div>
  39. </el-col>
  40. <el-col :xs="24" :sm="12">
  41. <div class="view-item">
  42. <i class="el-icon-phone-outline" />
  43. <span>{{ $t('table.tenant.status') +':' }}</span>
  44. {{ tenant.status.desc }}
  45. </div>
  46. </el-col>
  47. </el-row>
  48. <el-row :gutter="10">
  49. <el-col :xs="24" :sm="12">
  50. <div class="view-item">
  51. <i class="el-icon-star-off" />
  52. <span>{{ $t('table.tenant.duty') +':' }}</span>
  53. {{ tenant.duty }}
  54. </div>
  55. </el-col>
  56. <el-col :xs="24" :sm="12">
  57. <div class="view-item">
  58. <i class="el-icon-bangzhu" />
  59. <span>{{ $t('table.tenant.expirationTime') +':' }}</span>
  60. {{ tenant.expirationTime ? tenant.expirationTime : '永久' }}
  61. </div>
  62. </el-col>
  63. </el-row>
  64. <el-row :gutter="10">
  65. <el-col :xs="24" :sm="12">
  66. <div class="view-item">
  67. <i class="el-icon-time" />
  68. <span>{{ $t('table.createTime') +':' }}</span>
  69. {{ tenant.createTime }}
  70. </div>
  71. </el-col>
  72. <el-col :xs="24" :sm="12">
  73. <div class="view-item">
  74. <i class="el-icon-brush" />
  75. <span>{{ $t('table.updateTime') +':' }}</span>
  76. {{ tenant.updateTime }}
  77. </div>
  78. </el-col>
  79. </el-row>
  80. <!-- <el-row :gutter='10'>-->
  81. <!-- <el-col :xs='24' :sm='12'>-->
  82. <!-- <div class='view-item'>-->
  83. <!-- <i class='el-icon-date' />-->
  84. <!-- <span>{{ $t('table.tenant.isMultipleLogin') +':' }}</span>-->
  85. <!-- {{ tenant.isMultipleLogin ? '是' : '否'}}-->
  86. <!-- </div>-->
  87. <!-- </el-col>-->
  88. <!-- <el-col :xs='24' :sm='12'>-->
  89. <!-- <div class='view-item'>-->
  90. <!-- <i class='el-icon-document' />-->
  91. <!-- <span>{{ $t('table.tenant.passwordExpire') +':' }}</span>-->
  92. <!-- {{ tenant.passwordExpire == '0' ? '永久有效' :tenant.passwordExpire}}-->
  93. <!-- </div>-->
  94. <!-- </el-col>-->
  95. <!-- </el-row>-->
  96. <!-- <el-row :gutter='10'>-->
  97. <!-- <el-col :xs='24' :sm='12'>-->
  98. <!-- <div class='view-item'>-->
  99. <!-- <i class='el-icon-document' />-->
  100. <!-- <span>{{ $t('table.tenant.passwordErrorNum') +':' }}</span>-->
  101. <!-- {{ tenant.passwordErrorNum}}-->
  102. <!-- </div>-->
  103. <!-- </el-col>-->
  104. <!-- <el-col :xs='24' :sm='12'>-->
  105. <!-- <div class='view-item'>-->
  106. <!-- <i class='el-icon-date' />-->
  107. <!-- <span>{{ $t('table.tenant.passwordErrorLockTime') +':' }}</span>-->
  108. <!-- {{ tenant.passwordErrorLockTime | passwordErrorLockTimeFilter }}-->
  109. <!-- </div>-->
  110. <!-- </el-col>-->
  111. <!-- </el-row>-->
  112. <el-row :gutter="10">
  113. <el-col :xs="24" :sm="24">
  114. <div class="view-item">
  115. <i class="el-icon-date" />
  116. <span>{{ $t('table.tenant.describe') +':' }}</span>
  117. {{ tenant.describe }}
  118. </div>
  119. </el-col>
  120. </el-row>
  121. </el-dialog>
  122. </template>
  123. <script>
  124. export default {
  125. name: 'TenantView',
  126. filters: {
  127. passwordErrorLockTimeFilter (time) {
  128. if (time === '0') {
  129. return '当天23点59分'
  130. }
  131. return time
  132. }
  133. },
  134. props: {
  135. dialogVisible: {
  136. type: Boolean,
  137. default: false
  138. }
  139. },
  140. data () {
  141. return {
  142. screenWidth: 0,
  143. width: this.initWidth(),
  144. tenant: {
  145. type: {
  146. desc: ''
  147. },
  148. status: {
  149. desc: ''
  150. }
  151. }
  152. }
  153. },
  154. computed: {
  155. isVisible: {
  156. get () {
  157. return this.dialogVisible
  158. },
  159. set () {
  160. this.close()
  161. }
  162. }
  163. },
  164. mounted () {
  165. window.onresize = () => {
  166. return (() => {
  167. this.width = this.initWidth()
  168. })()
  169. }
  170. },
  171. methods: {
  172. initWidth () {
  173. this.screenWidth = document.body.clientWidth
  174. if (this.screenWidth < 550) {
  175. return '95%'
  176. } else if (this.screenWidth < 990) {
  177. return '580px'
  178. } else if (this.screenWidth < 1400) {
  179. return '600px'
  180. } else {
  181. return '650px'
  182. }
  183. },
  184. setTenant (val) {
  185. this.tenant = { ...val }
  186. },
  187. close () {
  188. this.$emit('close')
  189. }
  190. }
  191. }
  192. </script>
  193. <style lang="scss" scoped>
  194. .tenant-view {
  195. .img-wrapper {
  196. text-align: center;
  197. margin-top: -1.5rem;
  198. margin-bottom: 10px;
  199. img {
  200. width: 4rem;
  201. border-radius: 50%;
  202. }
  203. }
  204. .view-item {
  205. margin: 7px;
  206. i {
  207. font-size: 0.97rem;
  208. }
  209. span {
  210. margin-left: 5px;
  211. }
  212. }
  213. }
  214. </style>