From 3c7399c25c0f35c8aa7cb6af1935e31d1a3f0102 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期二, 02 六月 2026 17:43:50 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 admin/src/views/operation/device.vue |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/admin/src/views/operation/device.vue b/admin/src/views/operation/device.vue
index 202eccd..2f8d8ee 100644
--- a/admin/src/views/operation/device.vue
+++ b/admin/src/views/operation/device.vue
@@ -4,20 +4,31 @@
     <div class="mt20">
       <el-button type="primary" @click="handleEdit()" icon="el-icon-plus"
         v-permissions="['business:ywpatrolline:create']">鏂板缓</el-button>
+      <el-button type="primary" v-permissions="['business:ywdevice:importExcel']"
+        @click="$refs.deviceImport.open('璁惧鎵归噺瀵煎叆')">鎵归噺瀵煎叆</el-button>
     </div>
     <el-table v-loading="loading" :data="list" stripe>
       <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="" label="璁惧鍒嗙被" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="deviceNum" label="璁惧鏁伴噺" min-width="90" show-overflow-tooltip />
+      <el-table-column prop="categoryName" label="璁惧鍒嗙被" min-width="100" show-overflow-tooltip />
       <el-table-column prop="modelNo" label="璁惧鍨嬪彿" min-width="100" show-overflow-tooltip />
       <el-table-column prop="realName" label="绠$悊鍛�" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="company" label="璁惧渚涘簲鍟�" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="status" label="璁惧鐘舵��" min-width="100" show-overflow-tooltip />
-      <el-table-column label="鎿嶄綔" min-width="120" fixed="right">
+      <el-table-column prop="supplier" 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">姝e父</span>
+          <span v-if="row.status == 1">鎹熷潖</span>
+          <span v-if="row.status == 2">鎶ュ簾</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎿嶄綔" min-width="130" fixed="right">
+        <template slot-scope="{row}">
+          <el-button type="text" @click="handleDetail(row)"
+            v-permissions="['business:category:update']">鏌ョ湅璇︽儏</el-button>
           <el-button type="text" @click="handleEdit(row)" icon="el-icon-edit"
             v-permissions="['business:category:update']">缂栬緫</el-button>
-          <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+          <el-button type="text" @click="handleDel(row)" icon="el-icon-delete"
             v-permissions="['business:category:delete']">鍒犻櫎</el-button>
         </template>
       </el-table-column>
@@ -26,6 +37,8 @@
       <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
     </div>
     <Edit v-if="showEdit" ref="EditRef" @success="getList" @close="showEdit = false" />
+    <Detail ref="DetailRef" />
+    <OperaDeviceImportWindow ref="deviceImport" @success="getList(1)" />
   </div>
 </template>
 
@@ -33,12 +46,16 @@
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
 import Edit from './components/deviceEdit'
+import Detail from './components/deviceDetail'
+import OperaDeviceImportWindow from '@/components/business/OperaDeviceImportWindow'
 import { fetchList, deleteById } from '@/api/Inspection/device'
 export default {
   components: {
     Pagination,
     QueryForm,
-    Edit
+    Edit,
+    Detail,
+    OperaDeviceImportWindow
   },
   data() {
     return {
@@ -99,6 +116,11 @@
         this.loading = false
       })
     },
+    handleDetail(row) {
+      this.$refs.DetailRef.visible = true
+      this.$refs.DetailRef.id = row.id
+      this.$refs.DetailRef.getDetail()
+    },
     handleEdit(row) {
       this.showEdit = true
       this.$nextTick(() => {
@@ -113,7 +135,6 @@
       let message = `纭鍒犻櫎璇ヨ褰曞悧?`
       this.$dialog.deleteConfirm(message)
         .then(() => {
-          this.isWorking.delete = true
           deleteById(row.id)
             .then(() => {
               this.$tip.apiSuccess('鍒犻櫎鎴愬姛')
@@ -130,6 +151,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }

--
Gitblit v1.9.3