|
|
@@ -6,10 +6,15 @@
|
|
|
<div v-for="(poolItem, poolIndex) in item.pools" :key="poolIndex"
|
|
|
style="display: flex;flex-direction: column;align-items: center;">
|
|
|
<div class="pool-box">
|
|
|
- <div v-for="(pumpItem, pumpIndex) in poolItem.pumpItem" :key="pumpIndex"
|
|
|
- style="display: flex;flex-direction: column;align-items: center;">
|
|
|
+ <div v-for="(pumpItem, pumpIndex) in poolItem.pumpItem" :key="pumpIndex" class="pool-item">
|
|
|
<div>{{ pumpItem.name }}</div>
|
|
|
- <img :src="pumpItem.img" alt="" width="62" height="78" />
|
|
|
+ <img :src="pumpItem.status == 'stop' ? pump_stop : pump_run" alt="" width="62" height="78" />
|
|
|
+ <div class="pool-btn">
|
|
|
+ <el-button v-if="pumpItem.status == 'stop'" type="primary" size="small"
|
|
|
+ @click="updatePool(pumpItem, true)">运行</el-button>
|
|
|
+ <el-button v-if="pumpItem.status == 'run'" type="warning" size="small"
|
|
|
+ @click="updatePool(pumpItem, false)">停止</el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="font-size: 14px;" v-for="(item, index) in poolItem.name.split('|')" :key="index">{{ item }}</div>
|
|
|
@@ -19,31 +24,33 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
|
-import pump_normal from '@/assets/images/FSB水泵故障.png'
|
|
|
+import { StoreWaterPump, PumpItem } from "@/store/modules/waterPump.ts";
|
|
|
+import pump_run from '@/assets/images/FSB水泵故障.png'
|
|
|
+import pump_stop from '@/assets/images/FSB水泵停止.png'
|
|
|
|
|
|
|
|
|
interface RegionPumpItem {
|
|
|
name: string,
|
|
|
pools: Array<{
|
|
|
name: string;
|
|
|
- pumpItem: Array<{ name: string; img: string; }>;
|
|
|
+ pumpItem: Array<{ code: string; name: string; status?: 'run' | 'stop' }>;
|
|
|
}>
|
|
|
}
|
|
|
|
|
|
-const poolList = ref<RegionPumpItem[]>([
|
|
|
+const poolList = reactive<RegionPumpItem[]>([
|
|
|
{
|
|
|
name: "A端",
|
|
|
pools: [
|
|
|
{
|
|
|
name: "雨水泵JBP-1,2|1号出入口", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2101", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2102", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
name: "雨水泵JBP-3,4|2号出入口", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2103", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2104", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
}
|
|
|
]
|
|
|
@@ -53,40 +60,62 @@ const poolList = ref<RegionPumpItem[]>([
|
|
|
pools: [
|
|
|
{
|
|
|
name: "车站废水泵FSB-1,2|站台层废水泵房", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2201", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2202", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
name: "车站废水泵WSB-1,2|站台层废水泵房", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2203", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2204", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
name: "排水泵JBP-7/8|1号活塞风道", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2205", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2206", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
name: "排水泵JBP-11/12|3号风道新风井", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2207", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2208", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
},
|
|
|
{
|
|
|
name: "潜水泵JBP-15/16|3号风道表冷器", pumpItem: [
|
|
|
- { name: "A泵", img: pump_normal },
|
|
|
- { name: "B泵", img: pump_normal }
|
|
|
+ { code: "P2209", name: "A泵", status: 'run' },
|
|
|
+ { code: "P2210", name: "B泵", status: 'run' }
|
|
|
]
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
]);
|
|
|
|
|
|
+const updatePool = function (item: { code: string }, isRun: boolean) {
|
|
|
+ StoreWaterPump().updateItem(item.code, isRun);
|
|
|
+ updateWaterPump();
|
|
|
+}
|
|
|
|
|
|
-
|
|
|
+const updateWaterPump = function () {
|
|
|
+ const list: PumpItem[] = StoreWaterPump().getPumpList;
|
|
|
+ for (let i = 0; i < poolList.length; i++) {
|
|
|
+ const region = poolList[i];
|
|
|
+ for (let j = 0; j < region.pools.length; j++) {
|
|
|
+ const pools = region.pools[j];
|
|
|
+ for (let k = 0; k < pools.pumpItem.length; k++) {
|
|
|
+ const pumpItem = pools.pumpItem[k];
|
|
|
+ const item = list.find(item => item.code == pumpItem.code);
|
|
|
+ if (item) {
|
|
|
+ pumpItem.status = item.status;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+onMounted(function () {
|
|
|
+ updateWaterPump();
|
|
|
+});
|
|
|
|
|
|
</script>
|
|
|
<style scoped lang="scss">
|
|
|
@@ -126,5 +155,23 @@ const poolList = ref<RegionPumpItem[]>([
|
|
|
display: flex;
|
|
|
justify-content: space-around;
|
|
|
background: linear-gradient(to bottom, #A7C0DF 50%, #C3E9EC 50%);
|
|
|
+
|
|
|
+ >.pool-item {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ min-width: 108px;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+
|
|
|
+ >.pool-btn {
|
|
|
+ display: inline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ >.pool-btn {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|