From 856f526f823f5dad88c28657d82f971ff66afb1e Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 15 九月 2025 13:37:01 +0800
Subject: [PATCH] 优化

---
 admin/src/views/operation/tram.vue |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/admin/src/views/operation/tram.vue b/admin/src/views/operation/tram.vue
index 65e7cda..8b07403 100644
--- a/admin/src/views/operation/tram.vue
+++ b/admin/src/views/operation/tram.vue
@@ -8,6 +8,12 @@
       <el-form-item label="鎵�鍦ㄧ珯鐐�" prop="name">
         <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�/缂栫爜" @keypress.enter.native="search"></el-input>
       </el-form-item>
+      <el-form-item label="涓婃灦鐘舵��" prop="bikeStatuus">
+        <el-select v-model="searchForm.bikeStatuus" placeholder="涓婃灦鐘舵��" @change="search">
+          <el-option label="涓嬫灦涓�" :value="0" />
+          <el-option label="涓婃灦涓�" :value="1" />
+        </el-select>
+      </el-form-item>
       <el-form-item label="鐢甸噺鎯呭喌" prop="lowVoltage">
         <el-select v-model="searchForm.lowVoltage" placeholder="鐢甸噺鎯呭喌" @change="search">
           <el-option label="姝e父" :value="0" />
@@ -24,13 +30,14 @@
       <ul class="toolbar" v-permissions="['business:sites:create']">
         <li><el-button type="primary" @click="$refs.TramEditRef.open('鏂板杞﹁締')" icon="el-icon-plus"
             v-permissions="['business:sites:create']">鏂板缓</el-button></li>
-        <li><el-button @click="handleDelAll">鎵归噺鍒犻櫎</el-button></li>
+        <li><el-button  type="danger"  @click="handleDelAll">鎵归噺鍒犻櫎</el-button></li>
         <li v-permissions="['system:user:create']">
           <ImportButton text="瀵煎叆" template-name="鐢佃溅妯℃澘.xlsx" template-path="/template/tram_import_tem.xlsx"
             action="/business/bikes/importExcel" @success="search" />
         </li>
-        <li><el-button :loading="downLoading" @click="handleDownAll"
-            v-permissions="['business:sites:create']">鎵归噺涓嬭浇浜岀淮鐮�</el-button></li>
+        <li><el-button type="primary"  :loading="downLoading" @click="handleDownAll" >鎵归噺涓嬭浇浜岀淮鐮�</el-button></li>
+        <li><el-button type="primary" @click="handleStatusAll(1)">鎵归噺涓婃灦</el-button></li>
+        <li><el-button type="danger" @click="handleStatusAll(0)">鎵归噺涓嬫灦</el-button></li>
       </ul>
       <el-table @selection-change="handleSelectionChange" v-loading="isWorking.search" :data="tableData.list" stripe
         border>
@@ -44,9 +51,19 @@
             <span :class="{ red: row.lowVoltage == 1 }">{{ row.lowVoltage == 0 ? '姝e父' : '浣庣數閲�' }}</span>
           </template>
         </el-table-column>
+        <el-table-column label="涓婃灦鐘舵��" width="80px" align="center">
+          <template v-slot="{ row }">
+            <span :class="row.bikeStatus !== 1?'red':'green'">{{ row.bikeStatus  !== 1 ? '宸蹭笅鏋�' : '宸蹭笂鏋�' }}</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="siteId" label="绔欑偣缂栧彿" min-width="100px" align="center"></el-table-column>
         <el-table-column prop="siteName" label="绔欑偣鍚嶇О" min-width="100px" align="center"></el-table-column>
         <el-table-column prop="heartDate" label="鏈�鍚庨�氳鏃堕棿" min-width="100px" align="center"></el-table-column>
+        <el-table-column label="鏄惁鍦ㄧ嚎" width="80px" align="center">
+          <template v-slot="{ row }">
+            <span  :class="row.isOnline == 0?'red':'green'" >{{ row.isOnline == 0 ? '绂荤嚎' : '鍦ㄧ嚎' }}</span>
+          </template>
+        </el-table-column>
         <el-table-column v-if="containPermissions(['business:sites:update', 'business:sites:delete'])" label="鎿嶄綔"
           min-width="160" align="center" fixed="right">
           <template slot-scope="{row}">
@@ -85,7 +102,7 @@
 import QRcode from './components/QRcode'
 import ImportButton from '@/components/common/ImportButton'
 import { tranListPost } from '@/api/business/bikes.js'
-import { qrcodeBike, qrcodeBikeList, deleteBatchById } from '@/api/business/bikes.js'
+import { qrcodeBike, qrcodeBikeList, updateBikeStatusBatch,deleteBatchById } from '@/api/business/bikes.js'
 import { Message } from 'element-ui'
 export default {
   name: 'bikes',
@@ -109,6 +126,7 @@
         lowVoltage: '',
         ip: '',
         type: 1,
+        bikeStatuus: null,
         clientVersion: ''
       },
       imgurl: '',
@@ -149,6 +167,22 @@
         })
       })
     },
+    handleStatusAll (status) {
+      const { selList } = this
+      if (selList.length == 0) return Message.warning('璇峰厛閫夋嫨澶勭悊鐨勮溅杈�')
+      this.$confirm('鎮ㄧ‘璁よ澶勭悊閫変腑鐨勮溅杈嗗悧锛�', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
+      }).then(() => {
+        updateBikeStatusBatch({ bikeStatus: status, ids: selList.map(i => i.id).join() }).then(res => {
+          if (res) {
+            this.search(1)
+            Message.success('鎿嶄綔鎴愬姛')
+          }
+        })
+      })
+    },
     handlePri(row) {
       this.imgurl = null
       qrcodeBike({ fouce: 0, bikeId: row.id }).then(res => {

--
Gitblit v1.9.3