HistoryMis.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <template>
  2. <div style="margin-left: 20px;position: relative;">
  3. <div style="display: flex;justify-content: flex-start;align-items: center;">
  4. <div style="margin-right: 20px;">
  5. <span>名称:</span>
  6. <el-input v-model="names" style="width: 200px;" placeholder="请输入名称"></el-input>
  7. </div>
  8. <div style="margin-right: 20px;">
  9. <span>时间:</span>
  10. <el-date-picker v-model="getTime" @change="timeChange" type="datetimerange" start-placeholder="开始时间"
  11. end-placeholder="结束时间" format="YYYY-MM-DD HH:mm:ss" date-format="YYYY/MM/DD ddd"
  12. time-format="A hh:mm:ss" />
  13. </div>
  14. <div>
  15. <el-button @click="searchMis" type="primary">查询</el-button>
  16. <el-button @click="reload">重置</el-button>
  17. </div>
  18. </div>
  19. <div>
  20. <el-table :data="tableData" style="width: 98%" stripe>
  21. <el-table-column fixed label="序号" width="150">
  22. <template #default="scope">
  23. {{ scope.$index + 1 }}
  24. </template>
  25. </el-table-column>
  26. <el-table-column prop="name" label="任务名称" width="200" />
  27. <el-table-column label="状态" width="120">
  28. <template #default="scoped">
  29. {{ filterState(scoped.row.state) }}
  30. </template>
  31. </el-table-column>
  32. <el-table-column prop="ct" label="创建时间" width="200" />
  33. <el-table-column prop="scd_name" label="SCD名称" width="auto" />
  34. <el-table-column prop="station_name" label="变电站" width="120" />
  35. <el-table-column prop="username" label="创建人" width="120" />
  36. <el-table-column prop="voltage_name" label="电压等级" width="120" />
  37. <el-table-column fixed="right" label="操作" width="120">
  38. <template #default="scoped">
  39. <el-popconfirm title="你确定删除吗?" @confirm="sureDelMis">
  40. <template #reference>
  41. <el-button link type="primary" size="small" @click="delMis(scoped.row)">删除</el-button>
  42. </template>
  43. </el-popconfirm>
  44. </template>
  45. </el-table-column>
  46. </el-table>
  47. </div>
  48. <div>
  49. <PageNation :totals="totals" :pageNum="pageNum" :pageSize="pageSize" @pageBack="pageBack"
  50. style="position: absolute;top: 750px;right: 50px;"></PageNation>
  51. </div>
  52. </div>
  53. </template>
  54. <script>
  55. import { ref, onMounted, watch, toRefs } from 'vue';
  56. import moment from 'moment';
  57. import PageNation from './PageNation.vue';
  58. import task from '@/api/task';
  59. import { ElMessage } from 'element-plus';
  60. export default {
  61. setup() {
  62. let tableData = ref([])//表格内容
  63. let pageNum = ref(1)//页码
  64. let pageSize = ref(10)//页数
  65. let totals = ref(0)//总数
  66. let getTime = ref('')//时间选择器
  67. let startTime = ref("")//开始时间
  68. let endTime = ref("")//结束时间
  69. let names = ref('')//根据名称
  70. let delId = ref(0)//需要删除的id
  71. function reload() {
  72. task.getTask({ pageno: 1, pagesize: 20 }).then(res => {
  73. tableData.value = res.data
  74. totals.value = res.count
  75. })
  76. }
  77. function filterState(num) {
  78. if (num == 0) {
  79. return "未检测"
  80. } else if (num == 1) {
  81. return "检测中"
  82. } else if (num == 2) {
  83. return "检测结束"
  84. } else if (num == 3) {
  85. return "检测中断"
  86. }
  87. }
  88. function searchMis() {
  89. task.getTask({
  90. pageno: 1,
  91. pagesize: 20,
  92. name: names.value,
  93. start_time: startTime.value,
  94. end_time: endTime.value
  95. }).then(res => {
  96. tableData.value = res.data
  97. })
  98. }
  99. function timeChange(e) {
  100. if (e == null) {
  101. return
  102. } else {
  103. let a = moment(e[0]).format("YYYY-MM-DD")//开始时间
  104. let b = moment(e[1]).format("YYYY-MM-DD")//结束时间
  105. startTime.value = a
  106. endTime.value = b
  107. }
  108. }
  109. function delMis(e) {
  110. delId.value = e.id
  111. }
  112. function sureDelMis() {
  113. task.delTask({
  114. id: delId.value - 0
  115. }).then(res => {
  116. if (res.code == 0) {
  117. ElMessage({
  118. type: "success",
  119. message: "删除成功"
  120. })
  121. reload()
  122. }
  123. })
  124. }
  125. function pageBack(data) {
  126. tableData.value = data
  127. }
  128. onMounted(() => {
  129. reload()
  130. })
  131. return {
  132. reload,//初始化组件
  133. tableData,//表格数据
  134. filterState,//筛选状态
  135. totals,
  136. pageNum,
  137. pageSize,
  138. pageBack,//分页组件返回数据
  139. getTime,
  140. names,
  141. searchMis,//查询按钮
  142. timeChange,//时间选择器change事件
  143. startTime,//开始时间
  144. endTime,//结束时间
  145. delMis,//删除任务
  146. sureDelMis,//确认删除
  147. }
  148. },
  149. components: {
  150. PageNation,
  151. }
  152. }
  153. </script>
  154. <style lang="scss" scoped></style>