|
@@ -1,13 +1,202 @@
|
|
<template>
|
|
<template>
|
|
-
|
|
|
|
|
|
+ <van-nav-bar
|
|
|
|
+ fixed
|
|
|
|
+ title="场所消防"
|
|
|
|
+ left-text=""
|
|
|
|
+ left-arrow
|
|
|
|
+ @click-left="onClickLeft"
|
|
|
|
+ @click-right="onClickright"
|
|
|
|
+ :style="{ 'background-color': selectColor }"
|
|
|
|
+ >
|
|
|
|
+ <template #right>
|
|
|
|
+ <van-icon name="plus" size="18" />
|
|
|
|
+ </template>
|
|
|
|
+ </van-nav-bar>
|
|
|
|
+
|
|
|
|
+ <div class="main">
|
|
|
|
+ <van-search
|
|
|
|
+ v-model="value"
|
|
|
|
+ show-action
|
|
|
|
+ label="设备名称"
|
|
|
|
+ placeholder="请输入搜索关键词"
|
|
|
|
+ @search="onSearch"
|
|
|
|
+ >
|
|
|
|
+ <template #action>
|
|
|
|
+ <div @click="onClickButton">搜索</div>
|
|
|
|
+ </template>
|
|
|
|
+ </van-search>
|
|
|
|
+ <van-list
|
|
|
|
+ v-model:loading="loading"
|
|
|
|
+ :finished="finished"
|
|
|
|
+ finished-text="没有更多了"
|
|
|
|
+ @load="onLoad"
|
|
|
|
+ >
|
|
|
|
+ <van-swipe-cell v-for="item in list" :key="item">
|
|
|
|
+ <div class="list-item" @click="placeFirefightingInfo(item.id)">
|
|
|
|
+ <div class="item_top">
|
|
|
|
+ <div class="item_top_left">
|
|
|
|
+ {{ item.name }}
|
|
|
|
+ </div>
|
|
|
|
+ <div class="item_top_right">
|
|
|
|
+ <span v-if="item.equipmentType == 0">灭火器</span>
|
|
|
|
+ <span v-if="item.equipmentType == 1">消防栓</span>
|
|
|
|
+ <span v-if="item.equipmentType == 2">自动喷淋</span>
|
|
|
|
+ <span v-if="item.equipmentType == 3">消防排烟口</span>
|
|
|
|
+ <span v-if="item.equipmentType == 4">消防通道</span>
|
|
|
|
+ <span v-if="item.equipmentType == 5">安全出口标示牌</span>
|
|
|
|
+ <span v-if="item.equipmentType == 6">防火卷帘门</span>
|
|
|
|
+ <span v-if="item.equipmentType == 7">烟感器</span>
|
|
|
|
+ <span v-if="item.equipmentType == 8">温感器</span>
|
|
|
|
+ <span v-if="item.equipmentType == 9">报警钟</span>
|
|
|
|
+ <span v-if="item.equipmentType == 10">应急灯</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="item_center">
|
|
|
|
+ {{ item.position }}
|
|
|
|
+ </div>
|
|
|
|
+ <div class="item_down">
|
|
|
|
+ <div class="item_down_left">
|
|
|
|
+ {{ item.siteName }}
|
|
|
|
+ </div>
|
|
|
|
+ <div class="item_down_right">
|
|
|
|
+ {{ item.personInChargeName }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </van-swipe-cell>
|
|
|
|
+ </van-list>
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import { onMounted, ref } from "vue";
|
|
|
|
+import { useRouter } from "vue-router";
|
|
|
|
+import placeFirefighting from "@/api/placeFirefighting/placeFirefighting";
|
|
export default {
|
|
export default {
|
|
-
|
|
|
|
-}
|
|
|
|
|
|
+ setup() {
|
|
|
|
+ // 导航栏颜色
|
|
|
|
+ const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
|
|
|
|
+ //返回取消按钮
|
|
|
|
+ const onClickLeft = () => {
|
|
|
|
+ history.back();
|
|
|
|
+ };
|
|
|
|
+ //搜索
|
|
|
|
+ const value = ref("");
|
|
|
|
+ //初始化列表
|
|
|
|
+ const list = ref([]);
|
|
|
|
+ const loading = ref(false);
|
|
|
|
+ const finished = ref(false);
|
|
|
|
+ let index = 0;
|
|
|
|
+ const onLoad = () => {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ finished.value = false;
|
|
|
|
+ // 异步更新数据
|
|
|
|
+ new placeFirefighting()
|
|
|
|
+ .placeFirefightingList({
|
|
|
|
+ current: index + 1,
|
|
|
|
+ size: 10,
|
|
|
|
+ })
|
|
|
|
+ .then(({ records, pages }) => {
|
|
|
|
+ list.value = list.value.concat(records);
|
|
|
|
+ // 加载状态结束
|
|
|
|
+ loading.value = false;
|
|
|
|
+ if (index + 1 >= pages) {
|
|
|
|
+ finished.value = true;
|
|
|
|
+ }
|
|
|
|
+ index++;
|
|
|
|
+ });
|
|
|
|
+ };
|
|
|
|
+ // 进入消防设备添加页面
|
|
|
|
+ let router = useRouter();
|
|
|
|
+ const onClickright = () => {
|
|
|
|
+ router.push("/placeFirefightingView");
|
|
|
|
+ };
|
|
|
|
+ //进入消防设备详情页面
|
|
|
|
+ const placeFirefightingInfo = (item) => {
|
|
|
|
+ var data = JSON.stringify(item);
|
|
|
|
+ router.push({
|
|
|
|
+ path: "/placeFirefightingInfo",
|
|
|
|
+ query: { id: data },
|
|
|
|
+ });
|
|
|
|
+ };
|
|
|
|
+ return {
|
|
|
|
+ selectColor,
|
|
|
|
+ onClickLeft,
|
|
|
|
+ onClickright,
|
|
|
|
+ //搜索
|
|
|
|
+ value,
|
|
|
|
+ //初始化列表
|
|
|
|
+ list,
|
|
|
|
+ loading,
|
|
|
|
+ finished,
|
|
|
|
+ onLoad,
|
|
|
|
+ //进入详情页
|
|
|
|
+ placeFirefightingInfo,
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
-<style>
|
|
|
|
|
|
+<style lang='less'>
|
|
|
|
+body,
|
|
|
|
+html {
|
|
|
|
+ margin: 0;
|
|
|
|
+ padding: 0;
|
|
|
|
+ background-color: #f2f2f2;
|
|
|
|
+}
|
|
|
|
+.main {
|
|
|
|
+ .list-item {
|
|
|
|
+ background-color: #fff;
|
|
|
|
+ padding: 10px;
|
|
|
|
+ margin-bottom: 5px;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ .item_top {
|
|
|
|
+ width: 100%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ .item_top_left {
|
|
|
|
+ float: left;
|
|
|
|
+ width: 80%;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+ .item_top_right {
|
|
|
|
+ float: right;
|
|
|
|
+ width: 20%;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ color: #000000;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .item_center {
|
|
|
|
+ width: 100%;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ color: #a2a2a2;
|
|
|
|
+ text-align: left;
|
|
|
|
+ padding: 10px 0;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ }
|
|
|
|
+ .item_down {
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ width: 100%;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ border-bottom: 1px solid #f5f5f5;
|
|
|
|
+ .item_down_left {
|
|
|
|
+ width: 70%;
|
|
|
|
+ float: left;
|
|
|
|
+ color: #000000;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+ }
|
|
|
|
+ .item_down_right {
|
|
|
|
+ width: 30%;
|
|
|
|
+ text-align: center;
|
|
|
|
+ float: left;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
</style>
|
|
</style>
|