From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新

---
 admin/src/views/platform/platform.vue |  172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 172 insertions(+), 0 deletions(-)

diff --git a/admin/src/views/platform/platform.vue b/admin/src/views/platform/platform.vue
new file mode 100644
index 0000000..23f162c
--- /dev/null
+++ b/admin/src/views/platform/platform.vue
@@ -0,0 +1,172 @@
+<template>
+  <TableLayout :permissions="['business:platform:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <div ref="QueryFormRef" slot="search-form">
+      <SearchFormCollapse  :need-more="false">
+        <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+          <el-form-item label="" prop="name">
+            <el-input v-model="searchForm.name" clearable placeholder="璇疯緭鍏ユ湀鍙板悕绉�"
+              @keypress.enter.native="search"></el-input>
+          </el-form-item>
+          <el-form-item label="" prop="groupId">
+            <el-select v-model="searchForm.groupId" placeholder="璇烽�夋嫨鏈堝彴鍒嗙粍" @change="search" clearable>
+              <el-option v-for="item in groupList" :key="item.id" :label="item.name" :value="item.id">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <!-- <section> -->
+          <el-button type="primary" @click="search">鎼滅储</el-button>
+          <el-button @click="reset">閲嶇疆</el-button>
+          <!-- </section> -->
+        </el-form>
+      </SearchFormCollapse>
+    </div>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:hksync:platforms']">
+        <li><el-button type="primary" :loading="working" @click="syncData" icon="el-icon-plus"
+            v-permissions="['business:hksync:platforms']">鍚屾</el-button></li>
+        <li><el-button type="primary" :loading="working1" @click="syncStatus" icon="el-icon-plus"
+            v-permissions="['business:hksync:platforms']">鍚屾瀹炴椂鐘舵��</el-button></li>
+      </ul>
+      <el-table
+          :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="name" label="鏈堝彴鍚嶇О" fixed min-width="100px"></el-table-column>
+        <el-table-column prop="code" label="鏈堝彴缂栫爜" fixed min-width="100px"></el-table-column>
+        <el-table-column prop="groupName" label="鎵�灞炴湀鍙扮粍" fixed min-width="150px"></el-table-column>
+        <el-table-column prop="workingNum" label="鍚屾椂鍙彿杞﹁締鏁�" min-width="120px"></el-table-column>
+        <el-table-column prop="stayTimeoutAlarmTime" label="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛�" min-width="180px">
+          <template scope="{row}">{{ row.stayTimeoutAlarmTime ? (row.stayTimeoutAlarmTime) : '-' }}</template>
+        </el-table-column>
+        <el-table-column prop="workTimeoutAlarmTime" label="浣滀笟瓒呮椂鎶ヨ鏃堕棿(鍒嗛挓锛�" min-width="180px">
+          <template scope="{row}"> {{ row.workTimeoutAlarmTime ? (row.workTimeoutAlarmTime) : '-' }}</template>
+        </el-table-column>
+        <el-table-column prop="workRate" label="鏈堝彴浣滀笟鏁堢巼(涓囨敮/灏忔椂)" min-width="180px"></el-table-column>
+        <!-- <el-table-column prop="platformStatus" label="鏈堝彴鐘舵��" min-width="100px">
+          <template scope="{row}">
+            <span v-if="row.platformStatus == 0">鏃犺溅</span>
+            <span v-if="row.platformStatus == 1">鏈夎溅</span>
+            <span v-if="row.platformStatus == 2">瓒呮椂鍋滈潬</span>
+            <span v-if="row.platformStatus == 3">閿欒鍋滈潬</span>
+          </template>
+        </el-table-column> -->
+        <el-table-column prop="broadcastNames" label="鍏宠仈骞挎挱" min-width="100px"></el-table-column>
+        <el-table-column prop="ledNames" label="鍏宠仈LED" min-width="100px"></el-table-column>
+        <el-table-column prop="ledContent" label="LED绌洪棽鏂囨" min-width="180px"></el-table-column>
+        <el-table-column prop="hkDate" label="鍚屾鏃堕棿" min-width="150px"></el-table-column>
+        <el-table-column label="鏈堝彴鐘舵��" fixed="right" width="100px">
+          <template slot-scope="{row}">
+            <el-switch @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
+              inactive-color="#ff4949" :active-value="0" :inactive-value="1">
+            </el-switch>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="containPermissions(['business:platform:update', 'business:platform:delete'])" label="鎿嶄綔"
+          min-width="120" fixed="right">
+          <template slot-scope="{row}">
+            <el-button type="text" @click="$refs.operaPlatformWindow.open('缂栬緫鏈堝彴淇℃伅琛�', row)" icon="el-icon-edit"
+              v-permissions="['business:platform:update']">缂栬緫</el-button>
+            <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+              v-permissions="['business:platform:delete']">鍒犻櫎</el-button> -->
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaPlatformWindow ref="operaPlatformWindow" @success="handlePageChange" />
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import SearchFormCollapse from '@/components/common/SearchFormCollapse'
+import Pagination from '@/components/common/Pagination'
+import OperaPlatformWindow from '@/components/business/OperaPlatformWindow'
+import { allList } from '@/api/platform/platformGroup'
+export default {
+  name: 'Platform',
+  extends: BaseTable,
+  components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformWindow },
+  data() {
+    return {
+      groupList: [],
+      // 鎼滅储
+      working: false,
+      working1: false,
+      searchForm: {
+        name: '',
+        groupId: null
+      }
+    }
+  },
+  created() {
+    this.config({
+      module: '鏈堝彴淇℃伅琛�',
+      api: '/platform/platform',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+    this.loadGroupList()
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300
+    })
+  },
+  methods: {
+    loadGroupList() {
+      allList({})
+        .then(res => {
+          this.groupList = res || []
+        })
+    },
+    changeStatus(e, row) {
+      this.api.updateStatusById({
+        id: row.id,
+        status: e
+      })
+    },
+    syncData() {
+      this.$dialog.actionConfirm('鎿嶄綔纭鎻愰啋', '鎮ㄧ‘璁ゅ悓姝ュ叏閮ㄤ俊鎭悧锛�')
+        .then(() => {
+          this.isWorking.working = true
+          this.api.syncPlatforms({})
+            .then(res => {
+              this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+              this.search()
+            })
+            .catch(e => {
+              // this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.isWorking.working = false
+            })
+        })
+        .catch(() => { })
+    },
+    syncStatus() {
+      this.$dialog.actionConfirm('鎿嶄綔纭鎻愰啋', '鎮ㄧ‘璁ゅ悓姝ュ叏閮ㄤ俊鎭悧锛�')
+        .then(() => {
+          this.isWorking.working = true
+          this.api.syncPlatformStatus({})
+            .then(res => {
+              this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
+              this.search()
+            })
+            .catch(e => {
+              // this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.isWorking.working = false
+            })
+        })
+        .catch(() => { })
+    }
+  }
+}
+</script>

--
Gitblit v1.9.3