index.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <div class="content-container sensor">
  3. <el-row class="tool-bar">
  4. <el-col :span="12" class="left">
  5. <div class="content-title">
  6. 传感器配置
  7. </div>
  8. </el-col>
  9. <el-col :span="12" class="right">
  10. <el-input v-model="conditions.goafDevName" class="search-input m-right-15" placeholder="请输入设备名称">
  11. <el-button slot="append" icon="el-icon-search" @click="getData()" />
  12. </el-input>
  13. <el-button type="primary" @click="handleAdd">新增</el-button>
  14. </el-col>
  15. </el-row>
  16. <el-row class="m-top-15">
  17. <el-table v-loading="listLoading" class="page-table" border fit :data="dataList">
  18. <el-table-column type="index" label="序号" header-align="center" align="center" width="60" />
  19. <el-table-column prop="goafDevName" label="设备名称" />
  20. <el-table-column label="安装区域">
  21. <template v-slot="{row}">
  22. <span>{{ NumConvertLM(row.goafOrebelt) }}-{{ row.goafOrebody }}-{{ row.goafOreheight }}-{{ row.goafName }}</span>
  23. </template>
  24. </el-table-column>
  25. <el-table-column prop="goafDevLocation" label="安装地点" />
  26. <el-table-column prop="goafDevTypename" label="设备类型" />
  27. <el-table-column prop="goafDevGroupname" label="设备负责人部门" />
  28. <el-table-column prop="goafDevAccountName" label="设备责任人" />
  29. <el-table-column prop="goafAlarmThreshold" label="告警阈值 " />
  30. <el-table-column prop="goafAlarmThreshold" label="单位"> <template v-slot="{row}">{{ row|formatUnit }}</template></el-table-column>
  31. <el-table-column prop="goafInstallTime" label="安装时间" />
  32. <el-table-column label="操作" header-align="center" align="center" width="170">
  33. <template v-slot="{row}">
  34. <el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(row)">修改</el-button>
  35. <el-button size="mini" type="danger" icon="el-icon-edit" @click="handleDelete(row)">删除</el-button>
  36. </template>
  37. </el-table-column>
  38. </el-table>
  39. <div class="pagination-container" style="float:right;margin-right:40px;">
  40. <pagination v-show="total>0" :total="total" :page.sync="conditions.page" :limit.sync="conditions.limit" @pagination=" " />
  41. </div>
  42. </el-row>
  43. <sensor-Model ref="sensor" @formSuccess="getData" />
  44. </div>
  45. </template>
  46. <script>
  47. import { delSensor, getSensor } from '@/api/goaf/sensor'
  48. import { Pagination } from '@/components'
  49. import { NumConvertLM } from '@/utils'
  50. import sensorModel from './Model'
  51. export default {
  52. components: { Pagination, sensorModel },
  53. filters: {
  54. formatUnit(row) {
  55. if (row.goafDevTypename.indexOf('位移') > -1) return 'mm'
  56. if (row.goafDevTypename.indexOf('压力') > -1) return 'MPa'
  57. }
  58. },
  59. data() {
  60. return {
  61. dataList: [],
  62. total: 0,
  63. listLoading: false,
  64. conditions: {
  65. page: 1,
  66. limit: 10,
  67. goafDevName: ''
  68. }
  69. }
  70. },
  71. created() {
  72. this.getData()
  73. },
  74. methods: {
  75. // fetch data
  76. NumConvertLM,
  77. getData() {
  78. this.listLoading = true
  79. getSensor(this.conditions).then((resp) => {
  80. this.listLoading = false
  81. const { code, msg, data } = resp
  82. if (code === 0) {
  83. const start = (this.conditions.page - 1) * this.conditions.limit
  84. const end = this.conditions.page * this.conditions.limit
  85. const dataList = data.filter((item) => item.goafDevTypename.includes('传感器'))
  86. this.dataList = dataList.filter((item, index) => index >= start && index < end)
  87. this.total = dataList.length
  88. } else {
  89. this.$message.error(msg)
  90. }
  91. }).catch((error) => {
  92. console.log(error)
  93. })
  94. },
  95. handleAdd() {
  96. this.$refs['sensor'].showAddModel('传感器')
  97. },
  98. // "Edit Risk" Model
  99. handleUpdate(data) {
  100. this.$refs['sensor'].showEditModel(JSON.parse(JSON.stringify(data)))
  101. },
  102. // Delete Action
  103. handleDelete(data) {
  104. const { typeId, riskSource } = data
  105. this.$confirm(`此操作将删除该数据${riskSource}, 是否继续?`, '提示', {
  106. confirmButtonText: '确定',
  107. cancelButtonText: '取消',
  108. type: 'warning'
  109. }).then(() => {
  110. delSensor(typeId).then((resp) => {
  111. const { code, msg } = resp
  112. if (code === 0) {
  113. this.getData()
  114. this.$message.success(msg)
  115. } else {
  116. this.$message.error(msg)
  117. }
  118. }).catch((error) => {
  119. console.log(error)
  120. })
  121. }).catch(() => {
  122. this.$message.info('已取消删除')
  123. })
  124. }
  125. }
  126. }
  127. </script>