index.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <!-- 应用升级任务列表 -->
  2. <template>
  3. <div class="app-container applyUpgradesQuest">
  4. <div class="page-container applyUpgradesQuestPage">
  5. <div class="page-form-title-box">
  6. <el-form :model="queryParams" class="form-box" ref="queryForm"
  7. :inline="true" style="width:100%;">
  8. <el-form-item label="" prop="deviceCode">
  9. <el-input
  10. maxLength="30"
  11. v-model="queryParams.deviceCode"
  12. placeholder="设备码"
  13. style="width: 200px"
  14. />
  15. </el-form-item>
  16. <el-form-item label="" prop="batchNumber">
  17. <el-input
  18. maxLength="30"
  19. v-model="queryParams.batchNumber"
  20. placeholder="批次号"
  21. style="width: 200px"
  22. />
  23. </el-form-item>
  24. <el-form-item label="" prop="appVersion">
  25. <el-input
  26. maxLength="30"
  27. v-model="queryParams.appVersion"
  28. placeholder="app版本"
  29. style="width: 200px"
  30. />
  31. </el-form-item>
  32. <el-form-item label="" prop="status">
  33. <el-select v-model="queryParams.status" placeholder="任务状态" clearable style="width:200px;">
  34. <el-option
  35. v-for="dict in optionList"
  36. :key="dict.code"
  37. :label="dict.description"
  38. :value="dict.code"
  39. ></el-option>
  40. </el-select>
  41. </el-form-item>
  42. <el-form-item label="" prop="terminalType">
  43. <el-select v-model="queryParams.terminalType" placeholder="app类型" style="width: 200px">
  44. <el-option label="化学品终端" value="aio_chemical"></el-option>
  45. <el-option label="电子信息牌" value="aio_infobord"></el-option>
  46. <el-option label="学习考试一体" value="aio_exam"></el-option>
  47. <el-option label="化学品终端升级APP" value="aio_chemical_update"></el-option>
  48. <el-option label="电子信息牌升级APP" value="aio_infobord_update"></el-option>
  49. <el-option label="学习考试一体升级APP" value="aio_exam_update"></el-option>
  50. </el-select>
  51. </el-form-item>
  52. <p class="page-inquire-common-style-button" @click="handleQuery">查询</p>
  53. <p class="page-reset-common-style-button" @click="resetQuery">重置</p>
  54. </el-form>
  55. </div>
  56. <div class="page-content-box">
  57. <el-table class="table-box" v-loading="loading" border :data="dataList">
  58. <el-table-column label="app名称" prop="appName" show-overflow-tooltip/>
  59. <el-table-column label="app版本" prop="appVersion" width="80" show-overflow-tooltip/>
  60. <el-table-column label="设备码" prop="deviceCode" width="170" show-overflow-tooltip/>
  61. <el-table-column label="设备名称" prop="deviceName" width="170" show-overflow-tooltip/>
  62. <el-table-column label="批次号" prop="batchNumber" width="100" show-overflow-tooltip/>
  63. <el-table-column label="优先级" prop="priority" width="60" show-overflow-tooltip/>
  64. <el-table-column label="包名" prop="startLaunchPackage" width="120" show-overflow-tooltip/>
  65. <el-table-column label="状态" prop="status" width="90" show-overflow-tooltip>
  66. <template slot-scope="scope">
  67. {{scope.row.status=='failed'?'失败':(scope.row.status=='downloaded'?'下载成功':(scope.row.status=='success'?'升级成功':(scope.row.status=='pending'?'待执行':'')))}}
  68. </template>
  69. </el-table-column>
  70. <el-table-column label="开始时间" prop="startTime" width="150" show-overflow-tooltip>
  71. <template slot-scope="scope">
  72. <span>{{ parseTime(scope.row.startTime,"{y}-{m}-{d} {h}:{i}") }}</span>
  73. </template>
  74. </el-table-column>
  75. <el-table-column label="结束时间" prop="endTime" width="150" show-overflow-tooltip>
  76. <template slot-scope="scope">
  77. <span>{{ parseTime(scope.row.endTime,"{y}-{m}-{d} {h}:{i}") }}</span>
  78. </template>
  79. </el-table-column>
  80. <el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip>
  81. <template slot-scope="scope">
  82. <span>{{ parseTime(scope.row.createTime,"{y}-{m}-{d} {h}:{i}") }}</span>
  83. </template>
  84. </el-table-column>
  85. </el-table>
  86. <pagination :page-sizes="[20, 30, 40, 50]"
  87. v-show="total>0"
  88. :total="total"
  89. :page.sync="queryParams.page"
  90. :limit.sync="queryParams.pageSize"
  91. @pagination="getList"
  92. />
  93. </div>
  94. </div>
  95. </div>
  96. </template>
  97. <script>
  98. import {
  99. terminalUpgradeWebTaskList,
  100. terminalUpgradeWebTaskStatus,
  101. } from "@/api/iotDevice/index";
  102. export default {
  103. name: 'index',
  104. data () {
  105. return {
  106. //页面遮罩
  107. loading:false,
  108. //下拉列表数据
  109. optionList:[],
  110. //查询条件
  111. queryParams:{
  112. page:1,
  113. pageSize:20,
  114. status:"",
  115. deviceCode :"",
  116. batchNumber :"",
  117. appVersion :"",
  118. terminalType :"",
  119. },
  120. //列表数据
  121. dataList:[],
  122. //数据数量
  123. total:0,
  124. }
  125. },
  126. created () {
  127. },
  128. mounted () {
  129. this.terminalUpgradeWebTaskStatus();
  130. this.getList();
  131. },
  132. methods: {
  133. //查询按钮
  134. handleQuery(){
  135. this.$set(this.queryParams,'page',1);
  136. this.getList();
  137. },
  138. //重置按钮
  139. resetQuery(){
  140. this.$set(this,'queryParams',{
  141. page:1,
  142. pageSize:20,
  143. status:"",
  144. deviceCode :"",
  145. batchNumber :"",
  146. appVersion :"",
  147. terminalType :"",
  148. });
  149. this.getList();
  150. },
  151. //获取数据列表
  152. getList(){
  153. this.$set(this,'loading',true);
  154. let obj = JSON.parse(JSON.stringify(this.queryParams))
  155. terminalUpgradeWebTaskList(obj).then(response => {
  156. this.$set(this,'loading',false);
  157. this.$set(this,'dataList',response.data.records);
  158. this.$set(this,'total',response.data.total);
  159. });
  160. },
  161. terminalUpgradeWebTaskStatus(){
  162. terminalUpgradeWebTaskStatus({}).then(response => {
  163. this.$set(this,'optionList',response.data);
  164. });
  165. },
  166. },
  167. }
  168. </script>
  169. <style scoped lang="scss">
  170. .applyUpgradesQuest{
  171. .applyUpgradesQuestPage{
  172. }
  173. }
  174. </style>