HistoryMis.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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="record">重置</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="danger" 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. <DelHistory v-if="delModal" :delModal="delModal" :delId="delId" :reload="reload" @delBack="delBack"></DelHistory>
  52. </div>
  53. </div>
  54. </template>
  55. <script>
  56. import { ref, onMounted, watch, toRefs } from 'vue';
  57. import moment from 'moment';
  58. import PageNation from './PageNation.vue';
  59. import DelHistory from '../modalComp/DelHistory.vue';
  60. import task from '@/api/task';
  61. import { ElMessage } from 'element-plus';
  62. export default {
  63. setup() {
  64. let tableData = ref([])//表格内容
  65. let pageNum = ref(1)//页码
  66. let pageSize = ref(10)//页数
  67. let totals = ref(0)//总数
  68. let getTime = ref('')//时间选择器
  69. let startTime = ref("")//开始时间
  70. let endTime = ref("")//结束时间
  71. let names = ref('')//根据名称
  72. let delId = ref(0)//需要删除的id
  73. let delModal = ref(false)//删除模态框状态
  74. function reload() {
  75. task.getTask({ pageno: 1, pagesize: 20 }).then(res => {
  76. tableData.value = res.data
  77. totals.value = res.count
  78. })
  79. }
  80. function record(){
  81. names.value = ''
  82. startTime.value = ''
  83. endTime.value = ''
  84. getTime.value = ''
  85. task.getTask({ pageno: 1, pagesize: 20 }).then(res => {
  86. tableData.value = res.data
  87. totals.value = res.count
  88. })
  89. }
  90. function filterState(num) {
  91. if (num == 0) {
  92. return "未检测"
  93. } else if (num == 1) {
  94. return "检测中"
  95. } else if (num == 2) {
  96. return "检测结束"
  97. } else if (num == 3) {
  98. return "检测中断"
  99. }
  100. }
  101. function searchMis() {
  102. task.getTask({
  103. pageno: 1,
  104. pagesize: 20,
  105. name: names.value,
  106. start_time: startTime.value,
  107. end_time: endTime.value
  108. }).then(res => {
  109. tableData.value = res.data
  110. })
  111. }
  112. function timeChange(e) {
  113. if (e == null) {
  114. return
  115. } else {
  116. let a = moment(e[0]).format("YYYY-MM-DD")//开始时间
  117. let b = moment(e[1]).format("YYYY-MM-DD")//结束时间
  118. startTime.value = a
  119. endTime.value = b
  120. }
  121. }
  122. function delMis(e) {
  123. delId.value = e.id
  124. delModal.value = true
  125. }
  126. function sureDelMis() {
  127. }
  128. function pageBack(data) {
  129. tableData.value = data
  130. }
  131. function delBack(data){
  132. delModal.value = data
  133. }
  134. onMounted(() => {
  135. reload()
  136. })
  137. return {
  138. reload,//初始化组件
  139. tableData,//表格数据
  140. filterState,//筛选状态
  141. totals,
  142. pageNum,
  143. pageSize,
  144. pageBack,//分页组件返回数据
  145. getTime,
  146. names,
  147. searchMis,//查询按钮
  148. timeChange,//时间选择器change事件
  149. startTime,//开始时间
  150. endTime,//结束时间
  151. delMis,//删除任务
  152. sureDelMis,//确认删除
  153. delModal,//删除模态框的状态
  154. delBack,//DelHistory.vue返回模态框状态
  155. delId,
  156. record,
  157. totals,//总条数
  158. }
  159. },
  160. components: {
  161. PageNation,
  162. DelHistory,
  163. }
  164. }
  165. </script>
  166. <style lang="scss" scoped></style>