GoafInfo.vue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <template>
  2. <div class="content-container goaf">
  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.data.goafName" 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="goafOrebelt" label="矿带">
  20. <template v-slot="{row}">
  21. <span>{{ convertNum(row.goafOrebelt) }}</span>
  22. </template>
  23. </el-table-column>
  24. <el-table-column prop="goafOrebody" label="矿体" />
  25. <el-table-column prop="goafOreheight" label="中段" />
  26. <el-table-column prop="goafName" label="采空区名称" show-overflow-tooltip />
  27. <el-table-column prop="goafRoofpillarThickness" label="顶板矿柱厚度" width="" />
  28. <el-table-column prop="goafIncoavThickness" label=" 保安间柱平均厚度" width="150" />
  29. <el-table-column prop="goafRockLithology" label="围岩岩性" />
  30. <el-table-column prop="goafRockStability" label="围岩稳定性" />
  31. <el-table-column prop="goafCanfillVolume" label="可充填体积(m³)" width="150" />
  32. <el-table-column prop="goafRemainVolume" label="剩余可充填体积(m³)" width="180" />
  33. <el-table-column prop="goafIsFill" label="是否充填" width="80">
  34. <template v-slot="{row}">
  35. <span>{{ row.goafFillMethod==0?'是':'否' }}</span>
  36. </template>
  37. </el-table-column>
  38. <!-- <el-table-column prop="goafAvexArea" label="水平断面均暴露面积" />
  39. <el-table-column prop="goafAvinWidth" label="平均倾向宽度" />
  40. <el-table-column prop="goafAvexHeight" label="平均暴露高度">
  41. <template v-slot="{row}">
  42. <span>{{ row.goafAvexHeight==0?'已填充':row.goafAvexHeight }}</span>
  43. </template>
  44. </el-table-column>
  45. <el-table-column prop="goafVoidVolume" label="体积">
  46. <template v-slot="{row}">
  47. <span>{{ row.goafVoidVolume==0?'已填充':row.goafVoidVolume }}</span>
  48. </template>
  49. </el-table-column>
  50. <el-table-column prop="goafKeyTrend" label="倾向" />
  51. <el-table-column prop="goafKeyDipangle" label="倾角(度)" />
  52. <el-table-column prop="goafExpLocation" label="勘探位置" />
  53. <el-table-column prop="goafFormationTime" label="形成时间" width="150" />
  54. <el-table-column prop="goafFillMethod" label="充填方式">
  55. <template v-slot="{row}">
  56. <span>{{ row.goafFillMethod==0?'废石':'尾矿' }}</span>
  57. </template>
  58. </el-table-column> -->
  59. <el-table-column label="操作" header-align="center" align="center" width="240">
  60. <template v-slot="{row}">
  61. <el-button type="primary" @click="showDetail(row)">详情</el-button>
  62. <el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(row)">修改</el-button>
  63. <el-button size="mini" type="danger" icon="el-icon-edit" @click="handleDelete(row)">删除</el-button>
  64. </template>
  65. </el-table-column>
  66. </el-table>
  67. <div class="pagination-container" style="float:right;margin-right:40px;">
  68. <pagination v-show="total>0" :total="total" :page.sync="conditions.page" :limit.sync="conditions.limit" @pagination="getData" />
  69. </div>
  70. </el-row>
  71. <goaf ref="goaf" @formSuccess="getData" />
  72. <detail ref="detail" />
  73. </div>
  74. </template>
  75. <script>
  76. import { getGoafBaseInfoByPage, delGoaf } from '@/api/goaf/info'
  77. import { Pagination } from '@/components'
  78. import Goaf from './Goaf'
  79. import Detail from './detail'
  80. import { NumConvertLM } from '@/utils'
  81. export default {
  82. components: { Pagination, Goaf, Detail },
  83. data() {
  84. return {
  85. dataList: [],
  86. total: 0,
  87. listLoading: false,
  88. conditions: {
  89. page: 1,
  90. limit: 10,
  91. data: {
  92. goafName: ''
  93. }
  94. }
  95. }
  96. },
  97. created() {
  98. this.getData()
  99. },
  100. methods: {
  101. convertNum(num) {
  102. return num ? NumConvertLM(num) : '--'
  103. },
  104. // fetch data
  105. getData() {
  106. this.listLoading = true
  107. getGoafBaseInfoByPage(this.conditions).then((resp) => {
  108. this.listLoading = false
  109. const { code, msg, data, total } = resp
  110. if (code === 0) {
  111. this.dataList = data
  112. this.total = total
  113. } else {
  114. this.$message.error(msg)
  115. }
  116. })
  117. },
  118. showDetail(data) {
  119. this.$refs['detail'].showDetailModel(JSON.parse(JSON.stringify(data)))
  120. },
  121. // "Add Risk" Model
  122. handleAdd() {
  123. this.$refs['goaf'].showAddModel()
  124. },
  125. // "Edit Risk" Model
  126. handleUpdate(data) {
  127. this.$refs['goaf'].showEditModel(JSON.parse(JSON.stringify(data)))
  128. },
  129. // Delete Action
  130. handleDelete(data) {
  131. const { goafId, goafName } = data
  132. this.$confirm(`此操作将删除该数据${goafName}, 是否继续?`, '提示', {
  133. confirmButtonText: '确定',
  134. cancelButtonText: '取消',
  135. type: 'warning'
  136. }).then(() => {
  137. delGoaf(goafId).then((resp) => {
  138. const { code, msg } = resp
  139. if (code === 0) {
  140. this.getData()
  141. this.$message.success(msg)
  142. } else {
  143. this.$message.error(msg)
  144. }
  145. })
  146. }).catch(() => {
  147. this.$message.info('已取消删除')
  148. })
  149. }
  150. }
  151. }
  152. </script>
  153. <style lang="scss" scoped>
  154. @import "icon/iconfont.css";
  155. .content-container {
  156. background: #193142FF;
  157. margin: 10px 10px 10px 0;
  158. padding: 15px;
  159. height: calc(100vh - 90px);
  160. box-sizing: border-box;
  161. .content-title {
  162. font-size: 18px;
  163. font-weight: bold;
  164. color: #FFFFFF;
  165. font-weight: bold;
  166. background: linear-gradient(0deg, #FFFFFF 0%, #98A8B7 100%);
  167. background-clip: text;
  168. -webkit-background-clip: text;
  169. -webkit-text-fill-color: transparent;
  170. }
  171. .tool-bar {
  172. .left {
  173. float: left;
  174. }
  175. .right {
  176. float: right;
  177. text-align: right;
  178. }
  179. .title {
  180. line-height: 36px;
  181. font-size: 26px;
  182. }
  183. .search-input {
  184. width: 300px;
  185. }
  186. }
  187. .el-dropdown {
  188. margin: 0 10px;
  189. }
  190. }
  191. </style>
  192. <style lang="scss">
  193. .goaf .el-table__body tr.hover-row>td {
  194. background-color: #306379;
  195. }
  196. .goaf{
  197. .page-table{
  198. height: calc(100vh - 260px);
  199. overflow-y: auto;
  200. }
  201. }
  202. </style>