无人机管理后台前端(已迁走)
张含笑
2025-09-23 aa6f682fdb9d789c239296c5551240a20894a5f6
src/views/algorithmMange/algorithmMange.vue
@@ -2,7 +2,9 @@
  <div class="algorithmMange">
    <div class="search-box">
      <el-form :model="params" inline>
        <el-form-item label="算法名称:">
       <div style="display: flex;justify-content: space-between;">
        <div>
          <el-form-item label="算法名称:">
          <el-input v-model="params.algName" placeholder="请输入算法名称" clearable />
        </el-form-item>
        <el-form-item label="算法类型:">
@@ -10,10 +12,15 @@
            <el-option v-for="item in sfTypes" :key="item.id" :label="item.dictValue" :value="item.dictKey" ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="getList">搜索</el-button>
          <el-button @click="cancelSearch">清空</el-button>
        </el-form-item>
        </div>
        <div>
          <el-form-item  class="btns">
            <el-button type="primary" @click="getList">搜索</el-button>
            <el-button @click="cancelSearch">清空</el-button>
          </el-form-item>
        </div>
       </div>
      </el-form>
    </div>
    <div class="mange-table">
@@ -23,7 +30,7 @@
        <el-table-column prop="alg_type" label="算法类型" align="center"></el-table-column>
            <el-table-column prop="qua_rate" label="最低准确率" align="center">
          <template #header>
            <el-tooltip placement="bottom" effect="light" content="AI识别率高于最低准确率时会生成待审核状态的事件">
            <el-tooltip placement="top" effect="dark" content="AI识别率高于最低准确率时会生成待审核状态的事件">
              <el-icon><QuestionFilled /></el-icon>
            </el-tooltip>
            <span>最低准确率</span>
@@ -31,7 +38,7 @@
        </el-table-column>
            <el-table-column prop="pass_rate" label="最高准确率" align="center">
          <template #header>
            <el-tooltip placement="bottom" effect="light" content="AI识别率高于最高准确率时会生成待处理状态的事件">
            <el-tooltip placement="top" effect="dark" content="AI识别率高于最高准确率时会生成待处理状态的事件">
              <el-icon><QuestionFilled /></el-icon>
            </el-tooltip>
            <span>最高准确率</span>
@@ -121,6 +128,7 @@
<script setup>
import { getAlgorithmManageList, algorithmManageEdit } from '@/api/algorithmMange/algorithmMange';
import { getDictionaryByCode } from '@/api/system/dictbiz';
import { ElMessage } from 'element-plus';
const total = ref(0)
const params = ref({
@@ -155,8 +163,8 @@
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
          callback(new Error('请输入有效的数字(整数或小数)'));
        } else if (parseFloat(value) < 0.4) {
          callback(new Error('最低准确率不能小于0.4'));
        } else if (parseFloat(value) < 0.1) {
          callback(new Error('最低准确率不能小于0.1'));
        } else if (parseFloat(value) >= parseFloat(editParams.value.pass_rate)) {
          callback(new Error('最低准确率必须小于最高准确率'));
        } else {
@@ -172,8 +180,8 @@
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
          callback(new Error('请输入有效的数字(整数或小数)'));
        } else if (parseFloat(value) > 0.8) {
          callback(new Error('最高准确率不能大于0.8'));
        } else if (parseFloat(value) > 1) {
          callback(new Error('最高准确率不能大于1'));
        } else {
          callback();
        }
@@ -234,6 +242,7 @@
  await formValidate.validate((valid, fields) => {
    if (valid) {
      algorithmManageEdit(editParams.value).then(res => {
        ElMessage.success('保存成功')
        isShowEditView.value = false
        getList()
      })
@@ -259,6 +268,10 @@
    flex-direction: column;
    .search-box {
      height: 40px;
      .btns {
        display: flex;
        justify-content: end;
      }
    }
    :deep(.el-input) {