无人机管理后台前端(已迁走)
张含笑
2025-08-27 ab65906ce525c07d6b614e63e573155d91078708
src/views/resource/patchTypeManagement.vue
@@ -17,19 +17,18 @@
        <el-tag>{{ row.categoryName }}</el-tag>
      </template>
    </avue-crud>
    <el-dialog title="对象存储上传调试" append-to-body v-model="box" width="550px">
      <avue-form ref="form" :option="debugOption" v-model="debugForm" @submit="handleSubmit" />
    </el-dialog>
  </basic-container>
</template>
<script setup>
import {listOfSpotTypesApi,spotTypesCreateApi,editSpotTypeApi,deleteSpotTypeApi} from '@/api/patchManagement/index'
import { ref, computed, watch } from 'vue'
import { getListPage, getDetail, add, update, remove, enable, disable } from '@/api/resource/oss'
import { getListPage, getDetail, add, remove, enable, disable } from '@/api/resource/oss'
import { useStore } from 'vuex'
import func from '@/utils/func'
import { useRouter } from 'vue-router'
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus';
const store = useStore()
const router = useRouter()
@@ -37,16 +36,15 @@
const form = ref({})
const query = ref({})
const loading = ref(true)
const box = ref(false)
const page = ref({
  pageSize: 10,
  pageSize: 20,
  currentPage: 1,
  total: 0,
  lotValue:"",
  userName:''
})
const selectionList = ref([])
const option = ref({
  addBtn: true,
  addBtnText: '新增类型',
@@ -71,7 +69,7 @@
  column: [
    {
      label: '类型名称',
      prop: 'name',
      prop: 'patches_type',
      search: true,
      searchSpan: 4,
      rules: [
@@ -80,15 +78,19 @@
    },
    {
      label: '创建时间',
      prop: 'ossCode',
      prop: 'create_time',
      addDisplay: false,
      editDisplay: false,
      rules: [
        { required: true, message: '请输入创建时间', trigger: 'blur' },
      ],
    },
    {
      label: '创建人',
      prop: 'ossCode',
      prop: 'user_name',
      search: true,
       addDisplay: false,
       editDisplay: false,
      searchSpan: 4,
      rules: [
        { required: true, message: '请输入创建人', trigger: 'blur' },
@@ -99,31 +101,7 @@
const data = ref([])
const debugForm = ref({
  code: '',
})
const debugOption = ref({
  submitText: '提交',
  column: [
    {
      label: '资源编号',
      prop: 'code',
      disabled: true,
      span: 24,
    },
    {
      label: '上传背景',
      prop: 'backgroundUrl',
      type: 'upload',
      listType: 'picture-img',
      dataType: 'string',
      action: '/blade-resource/oss/endpoint/put-file',
      propsHttp: { res: 'data', url: 'link' },
      span: 24,
    },
  ],
})
// ---------------- watch ----------------
watch(
@@ -138,13 +116,7 @@
  }
)
watch(
  () => debugForm.value.code,
  () => {
    const column = findObject(debugOption.value.column, 'backgroundUrl')
    column.action = `/blade-resource/oss/endpoint/put-file?code=${debugForm.value.code}`
  }
)
// ---------------- computed ----------------
const permission = computed(() => store.getters.permission)
@@ -161,7 +133,11 @@
// ---------------- methods ----------------
const rowSave = (row, done, loadingFn) => {
  add(row).then(
const createParams ={
  patches_type:row.patches_type
,
}
  spotTypesCreateApi(createParams).then(
    () => {
      onLoad(page.value)
      ElMessage.success('操作成功!')
@@ -175,8 +151,8 @@
}
const rowUpdate = (row, index, done, loadingFn) => {
  update(row).then(
    () => {
  editSpotTypeApi(row).then(
    (res) => {
      onLoad(page.value)
      ElMessage.success('操作成功!')
      done()
@@ -194,7 +170,7 @@
    cancelButtonText: '取消',
    type: 'warning',
  })
    .then(() => remove(row.id))
    .then(() => deleteSpotTypeApi([row.id]))
    .then(() => {
      onLoad(page.value)
      ElMessage.success('操作成功!')
@@ -202,15 +178,20 @@
}
const searchReset = () => {
  query.value = {}
page.value.userName=''
page.value.lotValue =''
page.value.currentPage=1
page.value.pageSize=20
  onLoad(page.value)
}
const searchChange = (params, done) => {
console.log('list');
  query.value = params
console.log('params',params);
  page.value.currentPage = 1
  onLoad(page.value, params)
  page.value.lotValue = params.patches_type
  page.value.userName = params.user_name
  onLoad(page.value)
  done()
}
@@ -253,23 +234,13 @@
    })
}
const handleDebug = row => {
  box.value = true
  debugForm.value.code = row.ossCode
  debugForm.value.backgroundUrl = ''
}
const handleSubmit = (form, done) => {
  ElMessage.success(`获取到图片地址:[${form.backgroundUrl}]`)
  done()
}
const beforeOpen = (done, type) => {
  if (['edit', 'view'].includes(type)) {
    getDetail(form.value.id).then(res => {
      form.value = res.data.data
    })
  }
  // if (['edit', 'view'].includes(type)) {
  //   // getDetail(form.value.id).then(res => {
  //   //   form.value = res.data.data
  //   // })
  // }
  done()
}
@@ -280,14 +251,19 @@
const sizeChange = pageSize => {
  page.value.pageSize = pageSize
}
const refreshChange = () => {
  onLoad(page.value, query.value)
}
const onLoad = (pageParam, params = {}) => {
const searchparams ={
  current:pageParam.currentPage,
  size:pageParam.pageSize,
  lotValue:pageParam.lotValue,
  userName:pageParam.userName
}
  loading.value = true
  getListPage(pageParam.currentPage, pageParam.pageSize, Object.assign(params, query.value)).then(res => {
  listOfSpotTypesApi(searchparams).then(res => {
    const resData = res.data.data
    page.value.total = resData.total
    data.value = resData.records