无人机管理后台前端(已迁走)
chenyao
2025-10-17 2b01c341d55629a7b86fdb329f962dca2ce7f7e2
src/views/algorithmRepository/algorithmRepository.vue
@@ -43,20 +43,21 @@
                placeholder="请选择日期"
                @change="changeselect"
                  clearable
                   @clear="handleDateClear"
              />
                <!-- @clear="handleDateClear" -->
            </div>
            <div class="item">
              <div class="itemchild">机巢查询:</div>
              <el-select v-model="params.device_name" placeholder="请选择" class="filter-item">
              <el-select v-model="params.device_name" placeholder="请选择" class="filter-item" @change="handleSearch">
                <el-option v-for="item in jcoptions" :key="item" :label="item" :value="item" />
              </el-select>
            </div>
          </div>
          <div class="search-btn">
            <el-button type="primary" icon="el-icon-back" @click="goback">返回</el-button>
            <el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
            <el-button icon="el-icon-delete" @click="handleReset">清空</el-button>
            <el-button type="primary" icon="el-icon-back" @click="goback">返回</el-button>
          </div>
        </div>
@@ -72,7 +73,7 @@
              ref="imageRef"
              :src="getSmallImg(item.url)"
              show-progress
              :preview-src-list="detailData.map(i => i.url)"
              :preview-src-list="[getShowImg(item.url)]"
              fit="cover"
            />
@@ -106,11 +107,12 @@
</template>
<script setup>
import { useStore } from 'vuex';
import { getDictionaryByCode } from '@/api/system/dictbiz';
import { getalgorithmList, selectDeviceList } from '@/api/algorithm';
import { getSmallImg } from '@/utils/util';
import { getSmallImg,getShowImg } from '@/utils/util';
import { useRouter } from 'vue-router';
const store = useStore();
const router = useRouter();
const baseUrl = import.meta.env.VITE_APP_PICTURE_URL;
const showDetail = ref(false);
@@ -119,6 +121,7 @@
const jcoptions = ref([]);
const total = ref(0);
const loading = ref(true);
const userAreaCode = computed(() => store.getters.userInfo.detail.areaCode);
const params = ref({
  ai_type_key: '',
  start_date: null,
@@ -174,14 +177,19 @@
};
// 机巢查询
const getDeviceList = () => {
console.log('userAreaCode',userAreaCode.value);
// { areaCode: userAreaCode.value }
  selectDeviceList().then(res => {
    jcoptions.value = res.data.data;
  });
};
// 日期选择
const changeselect = () => {
  params.value.start_date = taskData.value.length ? `${taskData.value[0]} 00:00:00` : null;
  params.value.end_date = taskData.value.length ? `${taskData.value[1]} 23:59:59` : null;
  params.value.start_date = taskData.value?.length ? `${taskData.value[0]} 00:00:00` : null;
  params.value.end_date = taskData.value?.length ? `${taskData.value[1]} 23:59:59` : null;
  handleSearch()
};
// 处理日期清空
const handleDateClear = () => {
@@ -191,6 +199,12 @@
  getList();
};
const handleSearch = () => {
if(taskData.value === null){
    params.value.start_date = null; // 重置开始日期参数
  params.value.end_date = null; // 重置结束日期参数
}
  getList();
  
};
@@ -208,6 +222,7 @@
  activeItem.value = null;
  params.value.current =1
  params.value.size=15
  params.value.name=''
};
// 分页大小改变
const handleSizeChange = val => {
@@ -227,16 +242,17 @@
<style scoped lang="scss">
.algorithContainer {
height: 100%;
overflow: auto;
height: calc(100vh - 130px);
}
.algorithItem {
  // padding: 20px;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  // gap: 13px;
  text-align: center;
  vertical-align: middle;
  .item {
    height: 267px;
    display: flex;
@@ -258,6 +274,7 @@
    &:hover {
      background: url('/src/assets/images/ht-sfbg-hover.png') no-repeat center;
      background-size: 100% 100%;
      cursor: pointer;
    }
    &.active-bg {
      background: url('/src/assets/images/ht-sfbg-click.png') no-repeat center;
@@ -347,7 +364,6 @@
  }
  .search {
    display: flex;
    justify-content: space-between;
  }
  .searchBox {
    display: flex;
@@ -363,7 +379,7 @@
    .item {
      display: flex;
      align-items: center;
      margin-right: 49px;
      margin-right: 40px;
    }
  }
  .search-btn {