resultEvaluate.vue 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div>
  3. <el-card>
  4. <!-- 筛选条件 -->
  5. <el-form :model="filters" label-width="120px" class="filter-form">
  6. <el-form-item label="算法类型">
  7. <el-select v-model="filters.algorithmType" placeholder="请选择算法类型">
  8. <el-option v-for="type in algorithmTypes" :key="type" :label="type" :value="type"></el-option>
  9. </el-select>
  10. </el-form-item>
  11. <el-form-item label="电磁干扰目标">
  12. <el-select v-model="filters.target" placeholder="请选择目标">
  13. <el-option v-for="target in targets" :key="target" :label="target" :value="target"></el-option>
  14. </el-select>
  15. </el-form-item>
  16. <el-form-item>
  17. <el-button type="primary" @click="applyFilters">应用筛选</el-button>
  18. <el-button @click="resetFilters">重置筛选</el-button>
  19. </el-form-item>
  20. </el-form>
  21. <!-- 表格显示 -->
  22. <el-table :data="filteredRecords" border>
  23. <el-table-column prop="algorithmType" label="算法类型"></el-table-column>
  24. <el-table-column prop="target" label="电磁干扰目标"></el-table-column>
  25. <el-table-column prop="computeTime" label="计算时间"></el-table-column>
  26. <el-table-column prop="error" label="误差"></el-table-column>
  27. <el-table-column prop="snrChangeRate" label="雷达信噪比变化率"></el-table-column>
  28. <el-table-column
  29. label="操作"
  30. width="180">
  31. <template slot-scope="scope">
  32. <el-button @click="viewDetail(scope.row)" type="text" size="small">查看详情</el-button>
  33. </template>
  34. </el-table-column>
  35. </el-table>
  36. </el-card>
  37. </div>
  38. </template>
  39. <script>
  40. export default {
  41. data() {
  42. return {
  43. records: [
  44. { algorithmType: '算法A', target: '目标1', computeTime: '123ms', error: '0.01', snrChangeRate: '3dB' },
  45. { algorithmType: '算法B', target: '目标2', computeTime: '98ms', error: '0.02', snrChangeRate: '2dB' },
  46. { algorithmType: '算法C', target: '目标3', computeTime: '76ms', error: '0.03', snrChangeRate: '1dB' },
  47. { algorithmType: '算法D', target: '目标4', computeTime: '54ms', error: '0.04', snrChangeRate: '0dB' },
  48. { algorithmType: '算法E', target: '目标5', computeTime: '32ms', error: '0.05', snrChangeRate: '-1dB' },
  49. { algorithmType: '算法F', target: '目标6', computeTime: '10ms', error: '0.06', snrChangeRate: '-2dB' },
  50. // 其他记录
  51. ],
  52. filters: {
  53. algorithmType: '',
  54. target: ''
  55. },
  56. algorithmTypes: ['算法A', '算法B'],
  57. targets: ['目标1', '目标2']
  58. };
  59. },
  60. computed: {
  61. filteredRecords() {
  62. return this.records.filter(record => {
  63. return (!this.filters.algorithmType || record.algorithmType === this.filters.algorithmType) &&
  64. (!this.filters.target || record.target === this.filters.target);
  65. });
  66. }
  67. },
  68. methods: {
  69. applyFilters() {
  70. // 过滤逻辑已经在computed属性中实现
  71. },
  72. resetFilters() {
  73. this.filters.algorithmType = '';
  74. this.filters.target = '';
  75. },
  76. viewDetail(record) {
  77. this.$message({
  78. message: `查看详情: ${JSON.stringify(record)}`,
  79. type: 'info'
  80. });
  81. }
  82. }
  83. };
  84. </script>
  85. <style scoped>
  86. .filter-form {
  87. margin-bottom: 20px;
  88. }
  89. </style>