From 92338ab006f0e23f286a0914e4456c4f3a1c1b7b Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期五, 06 九月 2024 10:48:50 +0800
Subject: [PATCH] 日志
---
Web/src/views/device/alarmManage/index.vue | 128 ++++++++++++++++++++++--------------------
1 files changed, 68 insertions(+), 60 deletions(-)
diff --git a/Web/src/views/device/alarmManage/index.vue b/Web/src/views/device/alarmManage/index.vue
index 4f54ba3..3d1de64 100644
--- a/Web/src/views/device/alarmManage/index.vue
+++ b/Web/src/views/device/alarmManage/index.vue
@@ -5,19 +5,22 @@
<el-row style="display: flex;text-align: center;justify-content: center;height: 40px;">
<el-button type="warning" style="width: 95%;height: 30px;" @click="reset">鎶ヨ澶嶄綅</el-button>
</el-row>
- <el-table :data="tableData" border style="width: 100%" v-loading="loading"
+ <el-table :data="paginatedData" border style="width: 100%" v-loading="loading"
:default-sort="{ prop: 'date', order: 'descending' }">
<el-table-column prop="alarmCode" label="鍙橀噺" align="center"></el-table-column>
<el-table-column prop="alarmName" label="鎻忚堪" align="center"></el-table-column>
<el-table-column prop="stationNum" label="浣嶇疆" align="center"></el-table-column>
<el-table-column prop="alarmTime" label="鏃堕棿" align="center"></el-table-column>
</el-table>
+ <el-pagination v-model:currentPage="tableParams.page" v-model:page-size="tableParams.pageSize"
+ :total="tableParams.total" :page-sizes="[10, 20, 50, 100, 200, 500]" size="small" background=""
+ @size-change="handleSizeChange" @current-change="handleCurrentChange" layout="prev, pager, next" />
</el-col>
<el-col :span="19">
<div class="card-page">
- <el-button type="primary" :plain="isPlain1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button>
- <el-button type="primary" :plain="isPlain2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button>
- <el-button type="primary" :plain="isPlain3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button>
+ <el-button type="primary" :plain="layer != 1" @click="floorTogglePlain(1)">涓�灞傚钩闈�</el-button>
+ <el-button type="primary" :plain="layer != 2" @click="floorTogglePlain(2)">浜屽眰骞抽潰</el-button>
+ <el-button type="primary" :plain="layer != 3" @click="floorTogglePlain(3)">涓夊眰骞抽潰</el-button>
</div>
<div style="margin: 40px; height: 50%;">
<div class="grid-container-line">
@@ -34,7 +37,7 @@
</div>
</div>
<div class="grid-container">
- <div v-for="cell in cellsData" :key="cell.Id">
+ <div v-for="cell in cellsData">
<!-- IsUse鐘舵�� 0:姝e父 1锛氭湁鐗╁搧 2锛氶潪宸ヤ綅 3锛氬皬杞﹁矾绾� 4锛氭晠闅� -->
<div v-if="cell.IsShow === 0"
:class="['grid-item', { 'active': cell.IsUse === 1 }, { 'active2': cell.IsUse === 2 }, { 'active3': cell.IsUse === 3 }, { 'active3': cell.IsUse === 3 }, { 'active4': cell.IsUse === 4 }]">
@@ -49,39 +52,41 @@
</template>
<script lang="ts" setup>
-import { ref, reactive, onMounted } from 'vue';
-import { Splitpanes, Pane } from 'splitpanes';
+import { ref, reactive, onMounted, computed } from 'vue';
import 'splitpanes/dist/splitpanes.css';
-import { Vue2 } from 'vue-demi';
import { listWcsAlarmInfo, resetWcsAlarmInfo } from '/@/api/wcs/wcsAlarmInfo';
import { signalR } from './signalR';
//杩炴帴signalR 鐩戝惉鍙樻洿
onMounted(async () => {
signalR.off('PublicAlarm');
- signalR.on('PublicAlarm', (data: any) => {
- console.log(data);
-
- // 鏇存柊 tableData
- const index = tableData.value.findIndex(t => t.id == data.id);
-
- if (index === -1) {
- // 濡傛灉涓嶅瓨鍦紝娣诲姞鏂版暟鎹�
- tableData.value.unshift(data);
- tableParams.value.total = tableData.value.length;
- } else {
- if (data.status == 1) {
- // 濡傛灉鐘舵�佷负 1锛屾洿鏂版暟鎹�
- tableData.value.splice(index, 1, data);
+ signalR.on('PublicAlarm', (dataArray: any) => {
+ dataArray.forEach(data => {
+ console.log(data);
+ // 鏇存柊 tableData
+ const index = tableData.value.findIndex(t => t.id == data.id);
+ if (index === -1 && data.status == 1) {
+ // 濡傛灉涓嶅瓨鍦紝娣诲姞鏂版暟鎹�
+ tableData.value.unshift(data);
+ tableParams.value.total = tableData.value.length;
} else {
- // 濡傛灉鐘舵�佷笉鏄� 1锛屾姤璀︽秷闄�
- tableData.value.splice(index, 1);
+ if (data.status == 1) {
+ // 濡傛灉鐘舵�佷负 1锛屾洿鏂版暟鎹�
+ if (index !== -1) {
+ tableData.value.splice(index, 1, data);
+ }
+ } else {
+ // 濡傛灉鐘舵�佷笉鏄� 1锛屾姤璀︽秷闄�
+ if (index !== -1) {
+ tableData.value.splice(index, 1);
+ }
+ }
}
- }
- // 鏇存柊杈撻�佺嚎鏁版嵁
- updateCellData(cellsDataOne, data);
- updateCellData(cellsDataTwo, data);
- updateCellData(cellsDataThree, data);
+ // 鏇存柊杈撻�佺嚎鏁版嵁
+ updateCellData(cellsDataOne.value, data);
+ updateCellData(cellsDataTwo.value, data);
+ updateCellData(cellsDataThree.value, data);
+ });
});
});
// 鏇存柊杈撻�佺嚎鏁版嵁鐨勯�氱敤鍑芥暟
@@ -91,12 +96,26 @@
if (data.status == 1) {
foundCell.IsUse = 4;
}
- else{
+ else {
foundCell.IsUse = 0;
}
}
}
+// 鏀瑰彉椤甸潰瀹归噺
+const handleSizeChange = (val: number) => {
+ tableParams.value.pageSize = val;
+};
+// 鏀瑰彉椤电爜搴忓彿
+const handleCurrentChange = (val: number) => {
+ tableParams.value.page = val;
+};
+//琛ㄦ牸鏄剧ず鏁版嵁
+const paginatedData = computed(() => {
+ const start = (tableParams.value.page - 1) * tableParams.value.pageSize
+ const end = start + tableParams.value.pageSize
+ return tableData.value.slice(start, end)
+})
//鍫嗗灈鏈烘暟鎹�
const cellsDataLine = [
{ Id: 1, Code: '001', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
@@ -152,7 +171,7 @@
{ Id: 51, Code: '051', LineCode: '', EndLocat: '', IsShow: 1, IsUse: 0, BoxHeight: 10 },
];
//涓�灞傝緭閫佺嚎鏁版嵁
-const cellsDataOne = [
+const cellsDataOne = ref([
{ Id: 1, Code: '147', IsShow: 0, IsUse: 0 },
{ Id: 2, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 3, Code: '145', IsShow: 0, IsUse: 0 },
@@ -765,9 +784,9 @@
{ Id: 610, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 611, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 612, Code: '', IsShow: 1, IsUse: 0 },
-];
+]);
//浜屽眰杈撻�佺嚎鏁版嵁
-const cellsDataTwo = [
+const cellsDataTwo = ref([
{ Id: 1, Code: '', IsShow: 0, IsUse: 2 },
{ Id: 2, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 3, Code: '', IsShow: 0, IsUse: 2 },
@@ -1380,9 +1399,9 @@
{ Id: 610, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 611, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 612, Code: '', IsShow: 1, IsUse: 0 },
-];
+]);
//涓夊眰杈撻�佺嚎鏁版嵁
-const cellsDataThree = [
+const cellsDataThree = ref([
{ Id: 1, Code: '', IsShow: 0, IsUse: 2 },
{ Id: 2, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 3, Code: '', IsShow: 0, IsUse: 2 },
@@ -1893,7 +1912,7 @@
{ Id: 508, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 509, Code: '', IsShow: 1, IsUse: 0 },
{ Id: 510, Code: '', IsShow: 1, IsUse: 0 },
-];
+]);
//鍔犺浇杈撻�佺嚎鏁版嵁
let cellsData = ref<any>([]);
@@ -1910,13 +1929,13 @@
tableData.value = res.data.result;
tableParams.value.total = tableData.value.length;
- //鍔犺浇杈撻�佺嚎鏁版嵁
- cellsData.value = cellsDataOne;
-
// 鏇存柊杈撻�佺嚎鏁版嵁
- updateCells(cellsDataOne);
- updateCells(cellsDataTwo);
- updateCells(cellsDataThree);
+ updateCells(cellsDataOne.value);
+ updateCells(cellsDataTwo.value);
+ updateCells(cellsDataThree.value);
+
+ //鍔犺浇杈撻�佺嚎鏁版嵁
+ cellsData.value = cellsDataOne.value;
console.log(tableParams.value.total);
loading.value = false;
@@ -1931,34 +1950,23 @@
//澶嶄綅鎶ヨ
const reset = async () => {
- await resetWcsAlarmInfo();
- await handleQuery();
+ await resetWcsAlarmInfo({ layer: layer.value });
+ // await handleQuery();
}
-
-const isPlain1 = ref(false);//涓�灞�
-const isPlain2 = ref(true);//浜屽眰
-const isPlain3 = ref(true);//涓夊眰
+const layer = ref(1);
//鍒囨崲灞傚钩闈�
function floorTogglePlain(buttonNumber) {
+ layer.value = buttonNumber;
if (buttonNumber === 1) {
- isPlain1.value = !isPlain1.value;
- isPlain2.value = true;
- isPlain3.value = true;
//鍒囨崲杈撻�佺嚎鏁版嵁
- cellsData.value = cellsDataOne;
+ cellsData.value = cellsDataOne.value;
} else if (buttonNumber === 2) {
- isPlain2.value = !isPlain2.value;
- isPlain1.value = true;
- isPlain3.value = true;
//鍒囨崲杈撻�佺嚎鏁版嵁
- cellsData.value = cellsDataTwo;
+ cellsData.value = cellsDataTwo.value;
} else if (buttonNumber === 3) {
- isPlain3.value = !isPlain3.value;
- isPlain1.value = true;
- isPlain2.value = true;
//鍒囨崲杈撻�佺嚎鏁版嵁
- cellsData.value = cellsDataThree;
+ cellsData.value = cellsDataThree.value;
}
}
</script>
--
Gitblit v1.8.0