无人机管理后台前端(已迁走)
张含笑
2025-09-01 2ca94de8ede18ac07ccfd8dec7b6f6a707adde9b
src/views/device/components/firmwareManage.vue
@@ -17,6 +17,7 @@
      @current-change="currentChange"
      @size-change="sizeChange"
      @refresh-change="refreshChange"
       @on-load="onLoad"
    >
      <template #menu-left>
        <el-button type="primary" icon="el-icon-plus" plain @click="openFirmwareUpload"
@@ -28,12 +29,13 @@
      <el-form
        ref="form"
        :model="importForm"
        v-loading="loadingForm"
        label-width="80px"
        style="width: 80%; margin-left: 10%"
        :rules="rules"
      >
        <el-form-item label="设备名称" prop="device_name">
          <el-input v-model="importForm.device_name" clearable disabled></el-input>
          <el-input v-model="importForm.device_name" clearable></el-input>
        </el-form-item>
        <!-- 上传 -->
@@ -76,6 +78,7 @@
export default {
  data() {
    return {
      loadingForm:false,
      file: '',
      rules: {
        device_name: [{ required: true, message: '请输入设备名称', trigger: 'blur' }],
@@ -86,7 +89,7 @@
      firmwareUploadBox: false,
      form: {},
      query: {},
      workspaceId: '',
      workspaceId: '4a574d68-4ad3-48f7-9f16-3edbcd8056e1',
      deviceName: '',
      loading: true,
      page: {
@@ -98,8 +101,6 @@
      option: {
        lazy: true,
        tree: true,
        height: 'atuo',
        calcHeight: 32,
        dialogWidth: 950,
        tip: false,
        searchShow: true,
@@ -112,6 +113,9 @@
        excelBtn: false,
        dialogClickModal: false,
        grid: false,
        height: 'auto',
        calcHeight: 20,
        column: [
          {
            label: '设备名称',
@@ -151,6 +155,7 @@
            prop: 'file_size',
            addDisplay: false,
            editDisabled: true,
            hide:true,
            labelWidth: 130,
            rules: [
              {
@@ -218,6 +223,32 @@
              },
            ],
          },
          {
            label: '上传状态',
            prop: 'upload_status',
            addDisplay: false,
            editDisplay: false,
            labelWidth: 130,
            type: 'select',
            width: 100,
            dicData: [
              {
                label: '上传中或者上传失败',
                value: 1,
              },
              {
                label: '上传成功',
                value: 2,
              },
            ],
            rules: [
              {
                required: true,
                message: '请输入在线状态',
                trigger: 'blur',
              },
            ],
          },
        ],
      },
      data: [],
@@ -258,11 +289,12 @@
          formDatas.append('deviceName', that.importForm.device_name);
          formDatas.append('releaseNote', that.importForm.release_note);
          formDatas.append('status', that.importForm.status);
          this.loading = true;
          this.loadingForm = true;
          // 提交
          upload(this.workspaceId, formDatas).then(res => {
            this.loading = false;
            this.loadingForm = false;
            this.firmwareUploadBox = false;
            that.importForm = {}
            this.onLoad(this.page);
            this.$message({
              type: 'success',
@@ -286,7 +318,8 @@
    },
    // 初始化数据
    init(data) {
      this.workspaceId = data.workspace_id;
      // this.workspaceId = data.workspace_id;
      this.workspaceId = '4a574d68-4ad3-48f7-9f16-3edbcd8056e1';
      this.deviceName = data.device_name;
      this.onLoad(this.page);
    },
@@ -377,7 +410,7 @@
    onLoad(page, params = {}) {
      params['device_name'] = this.deviceName;
      this.loading = true;
      getDeviceFirmwareList(page.currentPage, page.pageSize, this.workspaceId, params).then(res => {
      getDeviceFirmwareList(page.currentPage, page.pageSize, params).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
@@ -399,3 +432,4 @@
  /* color: aqua; */
}
</style>
<style scoped lang="scss"></style>