detail.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <template>
  2. <ele-modal
  3. :visible.sync="visible"
  4. title="附属设备详情"
  5. width="1100px"
  6. append-to-body
  7. @close="cancel"
  8. >
  9. <el-form ref="form" :model="form" disabled label-width="120px" v-loading="loading">
  10. <el-row>
  11. <el-col :span="8">
  12. <el-form-item label="设备编号">
  13. <span>{{ form.deviceCode }}</span>
  14. </el-form-item>
  15. </el-col>
  16. <el-col :span="8">
  17. <el-form-item label="设备类型">
  18. <span>{{ form.classifyName }}</span>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="8">
  22. <el-form-item label="设备名称">
  23. <span>{{ form.name }}</span>
  24. </el-form-item>
  25. </el-col>
  26. </el-row>
  27. <el-row>
  28. <el-col :span="8">
  29. <el-form-item label="设备品牌">
  30. <span>{{ form.brandName }}</span>
  31. </el-form-item>
  32. </el-col>
  33. <el-col :span="8">
  34. <el-form-item label="设备型号">
  35. <span>{{ form.modelName }}</span>
  36. </el-form-item>
  37. </el-col>
  38. </el-row>
  39. <el-row>
  40. <el-col :span="8">
  41. <el-form-item label="排序号">
  42. <span>{{ form.deviceSort }}</span>
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="8">
  46. <el-form-item label="状态">
  47. <span :style="{ color: form.activityStatus == 1 ? '#0F83FF' : 'red' }">
  48. {{ form.activityStatus == 1 ? '启用' : '停用' }}
  49. </span>
  50. </el-form-item>
  51. </el-col>
  52. </el-row>
  53. <div class="tit">连接配置</div>
  54. <el-row>
  55. <el-col :span="8">
  56. <el-form-item label="IP">
  57. <span>{{ form.extraInfo?.ip }}</span>
  58. </el-form-item>
  59. </el-col>
  60. <el-col :span="8">
  61. <el-form-item label="端口">
  62. <span>{{ form.extraInfo?.port }}</span>
  63. </el-form-item>
  64. </el-col>
  65. </el-row>
  66. <el-row>
  67. <el-col :span="8">
  68. <el-form-item label="账号">
  69. <span>{{ form.extraInfo?.account }}</span>
  70. </el-form-item>
  71. </el-col>
  72. <el-col :span="8">
  73. <el-form-item label="密码">
  74. <span>{{ form.extraInfo?.password }}</span>
  75. </el-form-item>
  76. </el-col>
  77. </el-row>
  78. </el-form>
  79. <template #footer>
  80. <el-button @click="cancel">关 闭</el-button>
  81. </template>
  82. </ele-modal>
  83. </template>
  84. <script>
  85. import * as DeviceApi from '@/api/ledgerAssets/device'
  86. export default {
  87. name: 'SubDeviceDetail',
  88. data() {
  89. return {
  90. visible: false,
  91. loading: false,
  92. form: {
  93. name: undefined,
  94. deviceCode: undefined,
  95. classifyName: undefined,
  96. brandName: undefined,
  97. modelName: undefined,
  98. deviceSort: undefined,
  99. activityStatus: undefined,
  100. extraInfo: {
  101. ip: undefined,
  102. port: undefined,
  103. account: undefined,
  104. password: undefined
  105. }
  106. }
  107. }
  108. },
  109. methods: {
  110. /** 打开弹窗 */
  111. open(id) {
  112. this.visible = true
  113. this.loading = true
  114. DeviceApi.getDevice(id)
  115. .then((res) => {
  116. this.form = res
  117. })
  118. .catch((e) => {
  119. this.$message.error(e.message)
  120. })
  121. .finally(() => {
  122. this.loading = false
  123. })
  124. },
  125. /** 取消 */
  126. cancel() {
  127. this.resetForm()
  128. this.visible = false
  129. },
  130. /** 重置表单 */
  131. resetForm() {
  132. this.form = {
  133. name: undefined,
  134. deviceCode: undefined,
  135. classifyName: undefined,
  136. brandName: undefined,
  137. modelName: undefined,
  138. deviceSort: undefined,
  139. activityStatus: undefined,
  140. extraInfo: {
  141. ip: undefined,
  142. port: undefined,
  143. account: undefined,
  144. password: undefined
  145. }
  146. }
  147. }
  148. }
  149. }
  150. </script>
  151. <style lang="scss" scoped>
  152. .tit {
  153. margin-left: 10px;
  154. font-weight: bold;
  155. border-left: 3px solid #9266f9;
  156. padding-left: 10px;
  157. margin-bottom: 14px;
  158. }
  159. </style>