jiangping
2025-06-06 a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea
admin/src/views/operation/record.vue
@@ -4,19 +4,24 @@
    <div class="mt20">
      <el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
        v-permissions="['business:ywpatrolline:create']">新建</el-button>
      <el-button type="primary" @click="handleEx" v-permissions="['business:ywpatrolline:create']">导出</el-button>
      <el-button type="primary" @click="exportExcel" :loading="isWorking.export" v-permissions="['business:ywpatrolline:create']">导出</el-button>
    </div>
    <el-table v-loading="loading" :data="list" stripe>
      <el-table-column prop="" label="运维人" min-width="100" show-overflow-tooltip />
      <el-table-column prop="code" label="设备编号" min-width="100" show-overflow-tooltip />
      <el-table-column prop="name" label="设备名称" min-width="100" show-overflow-tooltip />
      <el-table-column prop="stautsName" label="设备状态" min-width="100" show-overflow-tooltip />
      <el-table-column prop="remark" label="运维备注" min-width="100" show-overflow-tooltip />
      <el-table-column prop="createTime" label="创建时间" min-width="100" show-overflow-tooltip />
      <el-table-column prop="realName" label="运维人" min-width="100" show-overflow-tooltip />
      <el-table-column prop="deviceCode" label="设备编号" min-width="100" show-overflow-tooltip />
      <el-table-column prop="deviceName" label="设备名称" min-width="100" show-overflow-tooltip />
      <el-table-column prop="status" label="设备状态" min-width="100" show-overflow-tooltip>
        <template slot-scope="{row}">
          <span v-if="row.status == 0">正常</span>
          <span v-if="row.status == 1">损坏</span>
          <span v-if="row.status == 2">报废</span>
        </template>
      </el-table-column>
      <el-table-column prop="content" label="运维备注" min-width="100" show-overflow-tooltip />
      <el-table-column prop="createDate" label="创建时间" min-width="140" show-overflow-tooltip />
      <el-table-column label="操作" min-width="120" fixed="right">
        <template slot-scope="{row}">
          <el-button type="text" @click="handleDetail(row)" icon="el-icon-edit"
            v-permissions="['business:category:update']">查看</el-button>
          <el-button type="text" @click="handleDetail(row)" v-permissions="['business:category:update']">查看</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -24,6 +29,7 @@
      <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
    </div>
    <Edit v-if="showEdit" ref="EditRef" @success="getList" @close="showEdit = false" />
    <Detail ref="DetailRef" />
  </div>
</template>
@@ -31,12 +37,15 @@
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
import Edit from './components/maintain.vue'
import { fetchList, deleteById } from '@/api/Inspection/device'
import Detail from './components/maintainDetail.vue'
import { fetchList, deleteById, exportExcel } from '@/api/Inspection/deviceRecord'
import { ywExportExcel } from '@/api/client/staff'
export default {
  components: {
    Pagination,
    QueryForm,
    Edit
    Edit,
    Detail
  },
  data() {
    return {
@@ -65,6 +74,9 @@
          },
        ],
        online: true
      },
      isWorking: {
        export: false
      }
    }
  },
@@ -92,9 +104,6 @@
        this.loading = false
      })
    },
    handleEx() {
    },
    handleEdit(row) {
      this.showEdit = true
      this.$nextTick(() => {
@@ -103,10 +112,10 @@
          this.$refs.EditRef.getDetail(row.id)
        }
      })
    },
    handleDetail() {
    handleDetail(row) {
      this.$refs.DetailRef.visible = true
      this.$refs.DetailRef.getDetail(row.id)
    },
    handleDel(row) {
      let message = `确认删除该记录吗?`
@@ -130,7 +139,28 @@
    handleSizeChange(capacity) {
      this.pagination.pageSize = capacity
      this.getList()
    }
    },
    exportExcel () {
      this.$dialog.exportConfirm('确认导出吗?')
        .then(() => {
          this.isWorking.export = true
          exportExcel({
            page: this.pagination.page,
            capacity: 1000000,
            model: this.filters
          })
            .then(response => {
              this.download(response)
            })
            .catch(e => {
              this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.isWorking.export = false
            })
        })
        .catch(() => {})
    },
  }
}
</script>